「文字化けするんですけど」 その2

新規にサーバを設定するのが嫌…というか、面倒だったので、誰かのお古のVMwareを起動させました。
正常に動作する(っぽい)コンテンツがあったので、Apacheとかは正常なんだろうと判断。念のためのphpinfo()も表示されたので、あとはご自由に!と渡したら…


「文字化けしちゃうんですけど」


あら。
確認してみると、コンテンツはどうやらShift_JISで書かれている。
アクセスしてみると、正常に表示されない(unDonutだと真っ白)。
ソースを確認しようとすると、当然文字化け。


エンコードを変更しても文字化け。でもF5すると必ずEUCになる。どこかで誰かがEUC-JPになれと、呪いをかけてるんだな。
何が原因なのかあれこれ調査。


httpd.confを見たが、AddDefaultCharsetはUTF-8だった。念の為、Shift_JISに変えてみたが効果はない。
同じディレクトリにmime_magicの設定ファイルがあったがエンコードに関する記述はなかった。


とにかくEUCだと正常に表示されるんだな。
どうしよう…


Firefoxにアドオンを入れて、HTTPリクエストヘッダを確認してみると…
test.htmlへアクセスしようとしてリクエストを出す。その時点でのレスポンスでは「Accept-Charset」はSJISが先頭に来ているので、きっと正常なんだろう(無責任)。
しかし最終的なCharsetがEUCになっていた。


なんでだー!!

X-Powered-By: PHP/5.1.6


あ、あれ?


phpinfo()の出力結果を検索してみる。

mbstring.http_output EUC-JP EUC-JP
mbstring.internal_encoding EUC-JP EUC-JP


ガッカリだよ。


とりあえずhttp_outputはpassにして、文字化けを回避だ。


internal_encodingはどうしようかな?
言われてからでいいか。


おっと、AddDefaultCharsetはOffにしておきました。