Я пытаюсь разобрать электронное письмо, которое частично написано на английском языке и частично написано на японском языке с помощью PHP. Вот код, который я до сих пор:Как я могу получить символы Unicode из IMAP в PHP?
if ($mbox = imap_open($mailbox, $username, $password)) {
$inbox = imap_check($mbox);
$total = (int) $inbox->Nmsgs;
$min = max(1, $total - 10);
// fetch 10 most recent emails
if ($total > 0 && ($emails = imap_fetch_overview($mbox, "{$min}:{$total}"))) {
foreach ($emails as $email) {
$body = imap_body($mbox, $email->uid, FT_UID);
// for testing purposes
echo $body;
// parsing logic here
}
}
}
Так как вы можете видеть, я просто вторя из открытого текста тела письма, просто чтобы проверить вещи, и вот часть вторит ответ я получаю, когда я бегу этот скрипт:
Ваше японское слово дня: ç»· ã®å
Однако, следующее, что я должен видеть вместо этого, основываясь на том, что на самом деле в адрес электронной почты:
Ваше японское слово дня: 男 の 子
Так ясно что-то теряется в переводе (каламбур). Я использую некоторые простые манипуляции с строками, чтобы попытаться разобрать японские символы, а затем вставить их в базу данных MySQL. Однако в настоящее время они вставляют эти символы gobbledygook. Что мне не хватает?
Edit: Я использую PHP версии 5.4.45
Где вы «эхо»? Какова кодировка места, на которое вы эхом отзываетесь? – zerkms
Просто к окну моего браузера – SoaperGEM
А для чего это кодировка? – zerkms