私は、Outlookの電子メールの件名を使って投稿を投稿できるウェブサイトを用意しています。 PHPとimapを使って、私はテキストの件名を取得し、それをmysql dbに格納します。しかし、しばらくの間、誰かがウェブサイトからそのメールの件名にテキストをコピーし、文字化けしたテキストを取得します。これと同様に、imap件名のWindows-1252文字をUTF-8に翻訳する
=?Windows-1252?Q?_Every_day_in_our_offices_we_recycle_cardboard、アルミニウム?= =?Windows-1252?Q? ? = 96_won = 92t_you_join_us = 3F =私がやったことは、それは次のコードを使用して、ページ上の通常表示されますので、このテキストを解読しようとしている
:終了したら
$subject = strip_tags($mailHeader->subject);
$header = imap_mime_header_decode($subject);
$subject = "";
for($i=0;$i<count($header);$i++)
{
$subject .= $header[$i]->text;
}
私は取り除きますほとんどの文字化けしたテキストが、元の件名テキストにあったemダッシュと中かっこの置換文字で残されています。以下の結果を参照してください:
私たちのオフィスでは、毎日リサイクルしています。ダンボール、アルミニウム、リサイクルしていますか?
ウェブサイトの文字セットがUTF-8に設定されています。ウェブサイトの文字セットをISO-8859-1に設定すると、置換文字は中かっことemダッシュに置き換えられますが、これは素晴らしいですが、ウェブサイトの文字セットをUTF-8にしたいと考えています。
文字セットをISO-8859-1に変更せずに置換文字を取り除く方法についてのヘルプは素晴らしいでしょう。ありがとう。
おかげで、それは完璧でした。あなたが投稿したコードに小さな編集が必要でした。他の誰かがこの日中に遭遇した場合には、私はそれを下に掲示します。 – JoeRDG