メールヘッダーのデコード(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のソースには、あまり修正を入れたくないと思っていたので、手間取りました。

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