MimeDecode кодировка koi8r - PullRequest
       5

MimeDecode кодировка koi8r

1 голос
/ 25 марта 2012

У меня проблема с кодировкой koi8r с mimeDecode,

Как пример:

Тема: =? KOI8-R? B? 8NLJ18XUIQ ==? = От: =? KOI8-R? B? 4czFy9PBzsTSIPfPzMvP1w ==? =

становится:

Тема: п ÷ я─п╦п╡п╣я┌! Откуда: Александр Волков

Должно быть так,

Тема: Привет! Откуда: Александр Волков

Так что точная проблема

        if (is_string($this->_decode_headers)) {
            $conv = @iconv($charset, $this->_decode_headers, $text);
            $text = ($conv === false) ? $text : $conv;
        }

Спасибо.

UPDATE Решена проблема, связанная с тем, что заголовки писем были сохранены в БД в другой кодировке.

1 Ответ

5 голосов
/ 25 марта 2012

Разве вы не хотите использовать mb_decode_mimeheader?

iconv переводит закодированные строки, здесь ваша строка только ascii.

mb_internal_encoding("UTF-8");
$string = "=?KOI8-R?B?8NLJ18XUIQ==?=";
$conv = mb_decode_mimeheader($string);

Это будет работать при условии, что вы, конечно, отправляете строку в кодировке utf-8, в противном случае вам придется адаптировать первую команду

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...