▼ 2008/02/09(土) CakePHP1.2のEmailComponentのデフォルトcharsetとEncoding:7bit
CakePHP1.2bのEmailコンポーネントを眺めていると、
デフォルトのcharset=UTF-8、つまり
これっていいのでしょうか?
あまりemailの仕様に詳しくない者がいうのも何ですが、UTF-8の場合は、8bitにするか、base64でエンコードして、base64指定にしなければならないような気がします。誰か詳しい人いませんかね。
しかも、charsetは、設定で変更できるのですが、Content-Transfer-Encodingは、変更できません。
ということは、charsetは、7bit形式のものでなければならず、日本語を通すなら、ISO-2022-JP(JIS)でなければならないはず。
なので、私は、ISO-2022-JPに指定しています。。。。
(呼び出し側で、mb_convert_encodingでJISに変換している。)
で、もひとついえば、本文のエンコードと、ヘッダーのエンコードは、それぞれ別に設定されてもいいように思うのですが、$this->charsetひとつだけの設定なので、ヘッダーと本文のエンコードを別にすることができません。
CakePHP version 1.2.0.6311 betaのお話です。なんか、このコンポーネントはこれからもっと手が入るような気がする。
デフォルトのcharset=UTF-8、つまり
Content-Type: text/html: charset=UTF-8なのに、
Content-Transfer-Encoding:7bitであることに気づいた。
これっていいのでしょうか?
あまりemailの仕様に詳しくない者がいうのも何ですが、UTF-8の場合は、8bitにするか、base64でエンコードして、base64指定にしなければならないような気がします。誰か詳しい人いませんかね。
しかも、charsetは、設定で変更できるのですが、Content-Transfer-Encodingは、変更できません。
ということは、charsetは、7bit形式のものでなければならず、日本語を通すなら、ISO-2022-JP(JIS)でなければならないはず。
なので、私は、ISO-2022-JPに指定しています。。。。
(呼び出し側で、mb_convert_encodingでJISに変換している。)
で、もひとついえば、本文のエンコードと、ヘッダーのエンコードは、それぞれ別に設定されてもいいように思うのですが、$this->charsetひとつだけの設定なので、ヘッダーと本文のエンコードを別にすることができません。
CakePHP version 1.2.0.6311 betaのお話です。なんか、このコンポーネントはこれからもっと手が入るような気がする。
▼ コメント(0件)
- TB-URL http://www.cpa-lab.com/tech/065/tb/