[PHP-users 31578] Re: HTMLは化けないのにPHPは化ける
Tomoyuki Asakawa
tom @ asakawa.ne.jp
2007年 2月 27日 (火) 16:09:28 JST
あさかわです。
On 2007/02/27, at 15:50, Paul Takenaka wrote:
> それを削除したところ、シフトJISもEUC-JPも
> UTF-8も正常に表示されるようになりました。
>
> 最終的な php.ini の内容は、
> default_charset = no value
> mbstring.encoding_translation = Off
> mbstring.http_input = pass
> mbstring.http_output = pass
> mbstring.internal_encoding = EUC-JP
> mbstring.language = Japanese
> となっています。
この設定で、シフトJISや、UTF-8は、たまたまうまく言っ
てるだけです。
outputが、passなので
internal_encodingからの変換が起きない
ので、入れたままのコードで出力されてるだけです。
上記の設定では、ソースは、EUC-JPで、かかなくては、なりませ
ん。
ソースをシフトJISや、UTF-8で書くのなら
mbstring.internal_encodingは、それにあわせるのが、基本です。
ただし、シフトjISを、internal_encodingにするべきでは
ないので
シフトJISで、ソースを書くのなら
mbstring.script_encoding = Shift_JIS
mbstring.encoding_translation = ON
を追加するべきです。
この場合、シフトJISのソースが、EUC_JPに変換されて動
作しますので
mbstring.http_output = passだと
出力は、EUC_JPになります。
そーすにあわせたい場合は
mbstring.http_output = Shift_JIS
に、してください。
PHP-users メーリングリストの案内