0

Web メールから電子メールを読み取り、データをデータベースに保存するためのアプリケーションがあります。ほとんどの作業には PHP の imap ライブラリを使用しています。

問題は、ほとんどの電子メールには複数の文字セット (ほとんどが ISO-8859-1 と UTF-8) があるため、電子メールから文字セットを読み取って、iconv 関数を使用して ISO-8859-1 にデコードする必要があることです。

ほとんどの文字セットで問題なく動作しますが、Windows-1252 文字セットを読み取ってデコードしようとすると、iconv 関数は何も返しません。

iconv 関数を mb_convert_string に変更しようとすると、すべての文字が正しく変換されません。

これは私のコードです:

if( $part->parameters[$i]->attribute == 'charset' )
    $charset =  $part->parameters[$i]->value;

if (strtolower($charset) != 'iso-8859-1')
    $this->emailMessageTxt = iconv($charset, 'iso-8859-1', $this->emailMessageTxt);

そこにエラーはありますか?

4

1 に答える 1

5
于 2012-12-05T12:15:39.470 に答える