プロが教えるわが家の防犯対策術!

自宅サーバーでUTF-8で記述したhtmlをブラウザで読み込んだ所、
時たま文字化けが発生します。

apacheを再起動した上で、
同じhtmlを再読み込みすると文字化けが解消する為、
apacheのどこかに問題があると思うのですが、
どこに問題があるかアドバイスいただける方が
いらっしゃいましたらよろしくお願いします。

なお環境は下記のようになっております。
OS:CentOS5.1
apache:2.2.8
PHP:4.4.8

A 回答 (1件)

ブラウザの文字コード判断は以下のように行われます。


(1) htmlページのheadの中のmetaタグで文字コードを指定した場合はそれに従う(<meta http-equiv="Content-Type" content="text/html;charset=..."> )
(2) それが無くてapacheの設定でhtmlファイルの文字コード設定がある場合はそれに従う (AddCharsetまたはAddDefaultCharsetディレクティブ)
(3) どちらも無指定なら、ページを見て推測する(文字によっては間違って判断されることもある)

ほとんどのページは、(1)で指定されているようです。

この回答への補足

結局解決していませんが、投稿より日にちが経ちすぎ回答がつきそうにないので、クローズさせていただきます。

補足日時:2010/12/31 23:09
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいた件について、自分の環境を調査してみました。

(1) について
html内に下記の記述がありました。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

(2) について
/usr/local/apache2/conf/httpd.confには
AddCharsetもAddDefaultCharsetも存在しませんでした。

(3) について
(1)でUTF-8にしている為、常にUTF-8としてみてほしいのですが、まれに間違って判定されてしまうようです。
apacheを再起動すれば直るのですが、いまだに原因の特定は出来ずにいます。

お礼日時:2008/11/12 22:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!