「文字化けするんですけど」 その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にしておきました。