PHPで文字化け


2chを快適に(?)ブラウジングする為、p2を使用しているのですが先日PHPを5.0.3にしたところ文字化けするようになりました。具体的にはPOSTまたはGETしたときのエンコーディングで化け化けするようで(よく分ってないで書いています)ちょっと困りもの。一応php.iniは設定したはず、、、と思って確認してみたら設定漏れが!アホか漏れは。つーことでもっかい見直し。

;; 出力のバッファリングを有効に
output_buffering = On
;; 出力の変換を有効にするために mb_output_handler を設定
;output_handler = mb_output_handler(←エラーが出るのでこれは設定しない)
;; HTTPヘッダ charset を設定
default_charset = Shift_JIS
;; デフォルトの言語を日本語に設定
mbstring.language = Japanese
;; HTTP 入力変換を有効にする
mbstring.encoding_translation = On
;; HTTP入力エンコーディング変換をautoに設定
mbstring.http_input = auto
;; SJISに変換
mbstring.http_output = SJIS
;; 内部エンコーディングEUC-JPに設定
mbstring.internal_encoding = SJIS(←SJISにしないと書き込みが文字化けします)
;; 無効な文字を出力しない
mbstring.substitute_character = none

よく見たらSJISの部分が全部EUC_JPだった。先日直したのは何だったのかと小一時間。。orz


ちなみに設定値はこちらを参考(というかまんま)させていただきました。
p2Wiki