PHP.ini文字コード設定の意味
#////////////////////////////////////////////
php_value output_handler mb_output_handler
php_value default_charset Shift_JIS
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_character none
#////////////////////////////////////////////
この設定で意味する事は、PHPのソースはEUC-JPなので、internal_encodingを
EUC-JPとし、言語のベースは日本語なのでmbstring.languageはJapaneseとする。
HTTPのデータ入出力の際、
サーバー側に入ってくる時(mbstring.http_input)はデータに一切処理を施し
てほしくないのでpassとし、output_handlerで設定しているmb_output_handler
の処理をスルーするようにします。
※mb_output_handlerはPHPの組み込み関数です。
反対にサーバーからクライアント側にでるデータはoutput_handlerで設定してい
るmb_output_handlerにSJIS(Shift-JIS)に変換してほしいので、mbstring.http_ou
tput
はSJISと設定します。
最終的にdefault_charsetをShift_JISとし、ヘッダー情報として
default_charset Shift_JIS
をPHPに自動的に設定してもらうようにします。