0

複数の言語でメールを受信できる PHP のアプリケーションがあるため、文字セットが異なります。メールを取得したら、UTF-8 エンコーディングで db に保存する必要があります。

たとえば、フランス語で「Une bonne journée, tout le monde!」というメールを受け取りました。文字セット: ISO-8859-1 または韓国語の「좋은 일, 세계!」文字セット: EUC-KR。現在、Zend Imap API を使用してメールを読み、iconv($charset,'UTF-8//TRANSLIT',$part) を使用してエンコード UTF-8 に変換しています。$charset はメールから解析され、置換されます。

しかし、私はまだ正しい結果を達成することができません。何が解決策になるか教えてください

4

1 に答える 1

0

私にとって、答えは私の顔を見つめていました。

しかし、Web 上の例の多くは、UTF-8 のエンコードを正しく示していますが、私が見た例では、エスケープが行われているか、PEAR メール機能でこれを行う方法を誤って示していました。

これは、これを解決するヘッダーを定義するために使用した行です。

$headers = array ( 
      'Content-Type' => 'text/plain; charset=UTF-8',
      'From' => $from,
      'To' => $to,
      'Subject' => $subject);

誰かがこれを掘り下げるのに費やした2時間を節約するのに役立つことを願っています!

于 2013-02-26T19:19:39.310 に答える