[PHP-users 14395]Re: スクリプトの文字コードについて

小先隆三 kosaki @ fip.fujitsu.com
2003年 4月 1日 (火) 09:54:48 JST


こんにちは、こさきです。

On 2003.3.28, at 19:46 Asia/Tokyo, Hirotaka Yamamoto wrote:
> php.ini ですが、CLIを使用して phpinfo を出しましたので、
> 表示が異なっておりました。申し訳ありません。
>
> 検証したのは apache-2.0.43 で SAPI には CGI を
> 利用しております。そちらでは、phpinfo(); の
> mbstring の項目にきちんと php.ini の内容が反映
> されておりました。

ほんとにきちんと反映されていますか?
当方のにたような環境(SunOS hoge 5.8 Generic_108528-18 sun4u) では

mbstring.encoding_translation = On

がなかなか反映できません。Solarisの問題というわけではなく、SPARC
Solarisの問題のようです。

当方のSPARCとx86のSolarisでのphpinfo();を抜粋します。

|PHP Version 4.3.1
|
|   System SunOS hogeSPARC 5.8 Generic_108528-18 sun4u
(略)
|mbstring
|
|   Multibyte Support                  enabled
|   Japanese support                   enabled
|   Multibyte (japanese) regex support enabled
(略)

|PHP Version 4.3.0
|
|   System SunOS hogei386 5.8 Generic_108529-15 i86pc
|
|mbstring
(略)
|   Multibyte Support                  enabled
|   Japanese support                   enabled
|   HTTP input encoding translation    enabled <--SPARCにはこれがない
|   Multibyte (japanese) regex support enabled
(略)

php.ini

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0


原因はどうかわかりませんが、結果として "HTTP input encoding translation"
が効いていません。当方では、「スクリプトの文字コード」の問題ではなく、内部
エンコードへの自動変換の問題と認識してプログラムで変換してしのいでます。

--
   小先隆三(こさきりゅうぞう)



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