[PHP-users 15103]Re: PHPの文字コードについて

kohara skohara @ fb3.so-net.ne.jp
2003年 5月 7日 (水) 21:11:59 JST


小原です。

> 桝形です。
> 
> > --enable-zend-multibyte付きでコンパイルはしていましたので、早速php.ini
> > に追加して試してみました。
> > 
> > 結果は、今まで文字化けしていた個所は直ったのですが、以下のようにPrint
> > 文でハードコーディングしている部分が文字化けするようになってしまいま
> > した。
> > 
> > 例)print ("完了しました");
> 
> mbstring.script_encoding=auto
> 
> なので、自動変換が誤認識しているのかもしれません。
> 試しに、
> 
> mbstring.script_encoding=SJIS
> 
> としてみては、どうでしょうか?( スクリプトはSJISで記述 )
> あるいは誤認識しないように、ファイルの先頭辺りに、おまじないを
> いれるとか。

やっぱりだめでした。全ての文字が文字化けして表示されてしまいます。

mbstring.encoding_translation=On
mbstring.script_encoding = SJIS

の状態で、スクリプトファイルをEUC-JPにしてみたら問題なく動作しました。
ということは、script_encodingが正常に認識されていないということでしょ
うかね・・・。phpinfo()には反映されてるのですが・・・。モジュール版で
はないので、HTTPDを含め再起動処理は行っていません。


> 
> > また、マルチバイト関数mb_send_mailを使ったメール送信テストをしてみま
> > したが、これは文字化けしてしまいます。internal_encodingがEUC-JPだか
> > らでしょうか・・・。
> > 
> > 全てEUC-JPに変更すると問題ない状態になります。
> > 
> > php.iniでのマルチバイトに関する設定は以下のとおりです。
> > -------------------------------------------
> > mbstring.detect_order=auto
> > mbstring.encoding_translation=Off
> > mbstring.func_overload=0
> > mbstring.http_input=auto
> > mbstring.http_output=SJIS
> > mbstring.internal_encoding=EUC-JP 
> > mbstring.language=Japanese
> > mbstring.script_encoding=auto
> > -------------------------------------------
> > 
> > EUC-JPに統一したほうがよいのでしょうか・・・。
> 
> 設定の順序が気になりますが。。。特にmbstring.languageの位置が。

あ、すみません。phpinfo()の出力順で書いてしまいましたが、実際は桝形様
と同じ順序になっています。

> ちなみに自分は、
> 
> mbstring.language = Japanese
> mbstring.internal_encoding = EUC-JP
> mbstring.http_input = auto
> mbstring.http_output = SJIS
> mbstring.encoding_translation = On
> mbstring.detect_order = SJIS-win,SJIS,EUCJP-win,EUC_JP,UTF-8,UTF-7,ISO-2022-JP,JIS,ASCII
> mbstring.substitute_character = none;
> mbstring.func_overload = 1
> mbstring.script_encoding = SJIS
> 
> な、感じ( 順序はこれで )で作成してます。
> デザインの部分の絡みでSJIS要望があまりに多かったので、SJIS固定
> にしています。

まったく同じにしてみましたが、文字化けは改善されませんでした。
先にも書きましたが、うまく機能してくれてないような気がしますね。

やっぱりSJISの要望ってありますよね〜。何とか対応させたい・・・。

もう文字化けの問題で3日も費やしてしまってます(w)。
皆様に火の粉を散らしてご迷惑おかけしていますが、申し訳ない。
明日本屋で調べてみます。




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