[PHP-users 31068] Re: 文字化け

KUBO Tetsuro kubo @ calico.co.jp
2006年 12月 19日 (火) 09:14:41 JST


久保です。

以前の投稿の使い回しになりますが、完全マニュアル(=非auto)の場合の例
です。

文字コードをEUCとした場合、php.iniを

mbstring.internal_encoding = EUC-JP
mbstring.http_input = PASS
mbstring.http_output = PASS

にしてPHPに悪さをさせないようにし、

その上で、マルチバイト文字列関数を使うときはautoを使わずにオプションに
なっている引数で文字コードをEUC-JPと明示してあげれば確実かと。

この場合、何の自動判定も行いませんので、入出力の文字コードを意識し、必
要に応じてmb_convert_encodingでエンコードを変えてあげる必要があります。
データベース使うなら、そっちの文字コードも。

メリットとして何の自動判定も行わないので、田中さんがお悩みの特定の文字
での文字化けも起こりません。文字化けが起こるときはどこかで文字コードの
ハンドリングが間違っていて、全文字で文字化けしちゃうので分かりやすいで
す。



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