[PHP-users 24333] Re: Pear Mail_Mime日本語対応

Y.Sawa sawa @ keel-inc.co.jp
2005年 2月 2日 (水) 17:17:30 JST


Y.Sawaです。

> 自分がEUC-JP環境なので、全く気にしてませんでした。
> 
> -    $return = mb_convert_encoding($return, 'JIS');
> +    $return = mb_convert_encoding($return, 'JIS', 'auto');
> 
> 修正箇所はここだけで良いかなと思ってますが...しかも'auto'で。ダメですか
> ね?

そのような内容にするのであれば、無理に修正しなくてもいいんじゃないでしょ
うか。
そういうソースにしてしまうと、仮にあるメールが文字コードの認識ミスにより
文字化けしてしまうと言う症状がでた場合、同様の文字列からなるメールは常に
文字化けの危険にさらされてしまうことになります。

ですから、
解決策1:
ドキュメントの方に「内部文字エンコーディングで渡すことが必要です」と書い
ておく。ソースはさきほどのまま修正しない。

解決策2:
どこかに文字コードを指定できる部分を作っておいて、
$return = mb_convert_encoding($return, 'JIS', $charset);
と指定してやることが出来るようにする。

$mime = new Mail_mb_mime();
$mime->setCharset("Shift_JIS");

or

$mime = new Mail_mb_mime("Shift_JIS");




どちらかを選択することが望ましいのではないでしょうか。

-- 
Yuta SAWA 
Email: sawa @ keel-inc.co.jp
Web Blog: http://d.hatena.ne.jp/succeed/




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