メールヘッダーのデコード(Zend_Mail)

Zend_Mail_Storage_Imapを利用して、メッセージを取得する場合、

Zend_Mail_Storage_ImapのgetMessageメソッドにて、メッセージデータを

取得したタイミングで、メールヘッダーもデコードされて、オブジェクトに設定されます。


この際のデコードは、iconv_mime_decode_headersというphp5から使える

phpライブラリで行われています。Zend_Mime_Decodeクラスの中で。

しかし、このとき文字コードが、iconv.internal_encoding(default “ISO-8859-1″)

にてデコードされるため、日本語を含んでいる場合は、正常にデコードされません。


iconv_mime_decode_headersの第3パラメタに’UTF-8’を指定したら、

日本語もUTF-8にて、正常にデコードされて取得することができます。


この対応策にたどり着くまでに、4,5時間悩んでましたが、解決策は1行修正。

Zendのソースには、あまり修正を入れたくないと思っていたので、手間取りました。

コメント 停止中

%d人のブロガーが「いいね」をつけました。