今いる会社のホームページが、Safari と Google Chrome で文字化けを起こします。そのほかの IE6, 7, 8 や Firefox では問題ありません。ちなみに確認したのは Windows 環境のみ。WebKit 系のブラウザだけ文字化けを起こすようです。不思議に思ったので調べてみました。
html ファイルの文字コード
該当の html ファイルをFTP でダウンロードして、Terapad で文字コードを確認 →UFT-8N
ブラウザはどの文字コードで認識している?
Google Chrome で開いて(文字化けしてる)文字コードを確認 →Google Chrome は SHIFT-JIS で認識している →UTF-8 を選択すると文字化けが直る
サーバ(Apatch)の設定は?
httpd.conf の設定 →AddDefaultCharset ECU-JP
推測できるのは、上記のような不思議な状況のため、ブラウザが文字コードを認識できず、ブラウザの既定の文字コードで読み込んでいるのでは。Google Chrome の場合、右上のレンチのアイコン→オプション→フォントや言語を変更→エンコード で設定されているようです。
確認してみると案の定、Shift-JIS になってる。で、一時的に既定の文字コードを UTF-8 にしてもう一度問題のページを見てみると、やっぱり Google Chrome は Shift-JIS で認識している。。
となると、ブラウザがどこからか Shift-JIS で設定されている部分を見つけて誤解しているのか、そもそも何かのバグがあるのか、、、 WebKit の仕様を調べる必要がありそうです。。
後日追記)
.htaccess に、 AddDefaultCharset UTF-8 を指定することで改善することができました。もっと早く思いついてもよかったのに。







