[PHP-users 15104]Re: PHPの文字コードについて
Hirotaka Yamamoto
hyamamoto @ cybozu.co.jp
2003年 5月 7日 (水) 21:25:30 JST
サイボウズの山本です。
以前私も同様にスクリプトエンコーディングが動作しないという
現象に悩まされました。
そのときのスレッド。
http://ns1.php.gr.jp/pipermail/php-users/2003-March/014901.html
その時点ではどうやらSolaris版特有の現象らしいと切り分けて、
その後 BTS にも同内容の登録がされました。
http://bugs.php.net/bug.php?id=23016
小原さんのは Linux なので違う原因かもしれませんが、ご参考まで。
kohara wrote:
> 小原です。
>
> > 桝形です。
> >
> > > --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 mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
--
サイボウズ株式会社 開発部
山本泰宇 <hyamamoto @ cybozu.co.jp>
Tel. 03-5805-9234 Fax. 03-5805-9036
PHP-users メーリングリストの案内