部分的に英語で書かれ、部分的にPHPを使って日本語で書かれた電子メールを解析しようとしています。あなたは、物事をテストするために、私は、電子メールの平文ボディ外に響くんだ見ることができるようにPHPのIMAPからUnicode文字を取得するにはどうすればよいですか?
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
}
}
}
と、ここで私が実行したときに私が取得エコー応答の一部です:ここでのコードは、私がこれまで持っていますこのスクリプト:
日のあなたの日本語の単語は次のとおりです。
ã®åC」・ただし、以下は私がで実際に何があるかに基づいて、その場で見るべきものですメール:
日のあなたの日本語の単語です:男の子
だから、明らかに何かが(しゃれが意図した)翻訳で失われています。私はいくつかの簡単な文字列操作を使用して、日本語の文字を試して解析し、それらをMySQLデータベースに挿入しています。しかし、現在、それらのgobbledygook文字を代わりに挿入しています。私は何が欠けていますか?
編集:私は、私は突然のすべてを、私はPHP 7に私のサーバーをアップグレードしようとすることを決めたPHP 5でこの作業を取得する方法が本当にわからないので、PHPのバージョン5.4.45
どこにエコーしますか?あなたがそれをエコーしている場所のエンコードは何ですか? – zerkms
私のブラウザのウィンドウにちょうど – SoaperGEM
それのエンコーディングは何ですか? – zerkms