PHP Поддержка нескольких языков в почте

У меня есть приложение на PHP, которое может получать почту на нескольких языках, следовательно, разные кодировки. После того, как я получу письмо, оно должно быть сохранено в БД в кодировке UTF-8.

Например, я получил письмо по-французски "Une bonne journée, Tout Le Monde!" кодировка: ISO-8859-1 или корейский "좋은 일, 세계!" кодировка: EUC-KR. Сейчас я читаю почту с помощью Zend Imap API, а затем преобразую его в кодировку UTF-8 с помощью iconv($charset,'UTF-8//TRANSLIT',$part). $charset анализируется с почты и подставляется.

Но я до сих пор не могу добиться правильных результатов. Пожалуйста, дайте мне знать, что будет решение

1 ответ

Для меня ответ смотрел мне в лицо.

Но во многих примерах в Интернете было правильно написано кодирование для UTF-8, но я видел примеры, которые либо избегали, либо неправильно демонстрировали, как это сделать для функции PEAR Mail.

Вот строка, которую я использовал, чтобы определить мои заголовки, которые решили это для меня.

$headers = array ( 
      'Content-Type' => 'text/plain; charset=UTF-8',
      'From' => $from,
      'To' => $to,
      'Subject' => $subject);

Надеюсь, это поможет кому-то сэкономить 2 часа, которые я трачу на это!

Другие вопросы по тегам