Я использую Zend_Mail_Storage_Pop3 для получения почтовых сообщений.
Моя тема на почте
Foo / æøå
$message->getHeader('content-type')
дает мне text/plain; charset=ISO-8859-1; format=flowed
Перед любой кодировкой мой $message->subject
выглядит следующим образом
Foo/µ°Õ - 2h - comment
Тогда я пытаюсь сделать iconv по теме
$message->subject = iconv('ISO-8859-1','UTF-8', $message->subject);
Теперь моя тема выглядит так
Foo/├ª├©├Ñ - 2h - comment
Что не является utf-8:)
Так что мне делать?
Я также пытался с utf8_encode и mb_convert_encoding
но это дает тот же результат
Ну, я понял - но это немного грязно, но работает
$this->mails = new Zend_Mail_Storage_Pop3(...);
$currentMessageId = $this->mails->getNumberByUniqueId($this->mails->getUniqueId($messageId));
$raw = $this->mails->getRawHeader($currentMessageId);
$l = explode("\n", $raw);
foreach($l AS $m) {
if (strpos($m, 'Subject: ') === 0) {
$subject = trim(str_replace('Subject: ', '', $m));
break;
}
}
$subject = str_replace("_"," ", mb_decode_mimeheader($subject));