Чтение японских символов из тела электронной почты IMAP - PullRequest
2 голосов
/ 28 июня 2011

Я пытаюсь получить тело письма на японском языке с этим кодом:

header('Content-Type: text/html;charset=utf-8');  
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}",        "***@*****.com", "*******");
$email="something@something.com";
$num_mensaje = imap_search($mbox,"FROM $email");
$body =  imap_fetchbody($mbox,$num_mensaje[0],"1");

echo imap_8bit($body));

, но у меня это не работает.*

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 09 августа 2016

Я только пытался использовать этот фрагмент кода для декодирования ISO-2022-JP сообщений в UTF-8 , и это сработало для меня.

$temp = iconv_mime_decode($email['overview'][0]->subject,0,"ISO-2022-JP");
echo mb_convert_encoding($temp, "UTF-8", "JIS");
0 голосов
/ 28 июня 2011

Поскольку <ESC>$B является одной из основных управляющих последовательностей в кодировках JIS, и ваш вывод начинается с *$B, может показаться, что ваши данные получены из этого источника.Попробуйте использовать mb_convert_encoding из JIS (или SJIS).

Редактировать: Если вы потенциально принимаете японский язык из нескольких кодировок, вы можете посмотреть на функцию mb_detect_encoding ;используя соответствующий список кодировки.

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