[PHP-users 13745] Re: magic_quota

Masashi Ohba php-users@php.gr.jp
Tue, 04 Mar 2003 17:43:21 +0900


大場です。

S.Okazaki wrote;

>今phpinfoを見ると、--enable-zend-multibyte が指定されていませんでした!
>ああ…今からもう一度歳コンパイルやり直してみます!


スクリプトをSJISにしたいなら
「--enable-zend-multibyte」必要かもしれませんが
スクリプトがEUCの時にこれを指定する必要あったかなぁ?

[PHP-users 13724]
>> (1) スクリプトを記述している文字エンコードは何か。
>EUC-JPです。
とあるので、これって無くても問題無いと思うんだけど…

実際に*.phpをEUCで書いて
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;


で、内部はEUC、出力はSJIS、
「mbstring.encoding_translation = On」
の設定で、出力する中に

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">

を含めておいて、ブラウザで見た時に
私の使ってる環境では「表」も「平成」も化けないんだけど…


>[PHP-users 13731]
;mbstring.http_output = SJIS

と、わざとしてるってことは出る時はEUCなんだろうか?

#まぁ、強制的に出力をSJIS固定にする必要も無いんだろうけど

html部分にcharsetが無かったり、あまりに日本語部分が
短かかったりした時にブラウザ側で誤判断される可能性とか
(動作確認もブラウザで見た結果だと思うし)あるけど
一連のメールを読む限りではスクリプト側で、出力コードと
charsetを何に指定してるのかよく分からなかったんですが…

------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail  ohba@intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------