[ethna-users:1156] Re: Ethna_MailSender について

山本 正浩 yamamoto @ thinkmeta.jp
2009年 7月 7日 (火) 02:18:33 JST


yamamotoです。


本筋と少しそれてしまって恐縮ですが。

>> デバッグログに出るのは、それはそれで便利ですね。
>> エンコーディングにISO-2022-JPを指定したメールをデバッグログに出したとき、
>> どうなるのかちょっと気になりますが・・・。
>
> 2.5 系からはアプリケーションで扱うエンコーディングを、ユーザーは
> 明確に指定しなければなりません(デフォルト UTF-8)
>
> http://ethna.jp/ethna-document-dev_guide-app-setlanguage.html
>
> なので、ISO-2022-JP からユーザが指定したエンコーディングに
> mb_convert_encoding すればよいかな、と思っています。

2.5系をしっかり確認できていないので見当違いなことを言っていたらご容赦ください。

デバッグログがシステムエンコーディング(UTF-8)で出力されるので、
デバッグログにメールの出力結果を出すときはUTF-8で出力し、mail()関数に渡すテキストは
ISO-2022-JPなどの個別のエンコーディングに変換できるのであれば問題ないと思います。


ユーザー側でmb_convert_encoding するにしても、メールの内容がデバッグログに
出力される前に変換されていると、ログで文字化けになるのではないかと思います。
メールのエンコーディングも[appid]_Controller#_getDefaultLanguage()のようなメソッドを
用意してもらって、自動で送信時に自動で変換できるようになれば回避できそうです。

#私は2.3系で、[appid]-ini.phpにメール用のエンコーディングを設定できるようにしてしのいでいます。

-- 
-<Thinkmeta>------------------------------------------
<?xml version="1.0" encoding="ISO-2022-JP" ?>
<signature>
    <name>山本 正浩[Masahiro Yamamoto]</name>
    <mail>yamamoto @ thinkmeta.jp</mail>
    <web>http://www.thinkmeta.jp/</web>
</signature>


users メーリングリストの案内