-1

メールボックスから電子メールを読み取るスクリプトを作成しました。

一部の電子メールで、一部のデータが文字化けした文字に変換されており、それが私のさらなる処理を妨げています。

それらのキャラクターは次のようになりますhttp://brucejohnson.ca/HTMLCharacters13.html

それらを元のコンテンツに変換する方法。

4

3 に答える 3

0

まず、メール ヘッダーの文字セット エンコーディングを確認する必要があります。

これを行ったら、2 つの方法のうちの 1 つを選択し、HTML の文字セットを変更するか、(可能な場合) 文字セットを既に使用している文字セット (おそらく UTF-8) に変更します。

ヘッダーの HTML 文字セットを動的に変更する場合、最大の問題は、ユーザーがブラウザ設定で正しい文字セットを指定する必要があることです。サイトを見るたびにこの方法を採用し、ブラウザの文字セットを変更する必要がありましたが、私の友人は ISO-8859-1 を通常の文字セットとして使用しているので、問題はありません。

文字を UTF-8 にエンコードする場合 (例: php の utf8_encode)、コンテンツが UTF-8 になっていないことを確認する必要があります。そうしないと、encode 関数が他の無効な文字を作成することがあります。

私がこれを処理する方法は、基本的に電子メールの MIME ヘッダーをデコードし、PHP で preg_match を使用して使用されている文字セットを検出し、そこから UTF-8 へのエンコーディングを実行するかどうかです。

これは、電子メールの送信者に基づいてメールやさまざまな文字セットを扱う非常に複雑なアクティビティです。どの文字セットが使用されるかを事前に知ることはできないため、さまざまな文字セットを本当に理解する必要があります。それらを保存し、それらがどのように表示されるのが最適かを判断したら、これをアプリとターゲット市場に変換する必要があります。

あなたのアプリで頑張ってください

于 2011-07-14T14:19:10.200 に答える
-1

文字エンコーディングをチェックしましたかUTF-8?もしそれがwestern europian then change to UTF-8

于 2011-07-14T13:55:00.760 に答える