通常のブックマークから開く場合は文字化けが発生しませんが、アンテナより開いた時に限って、UTF-8で記述しているブログがShift_JISに文字化けします(そして、再読込すると必ず直ります)。metaタグは記述しているのですが、原因がさっぱり分かりません。可能性としてはどのような事が考えられますでしょうか? ご教示をお願いします。
なお、私のサイトのURLはhttp://qed-jp.com/です。
http://www.fxis.co.jp/xmlcafe/link/jirei/sample_charset.html
XML Cafe (SGML/XML 事例_サンプルcharset)
CHARSETで文字コードを指定してあるのに、実際には異なる文字コードで記述されているわけではないようなので、可能性としては
HTTPレスポンスヘッダでCHARSETが指定されているのに、その指定と XML宣言でのencoding指定と矛盾している、だと思われます。
簡単に言えば、サーバの設定がShift-JISなのに、文書はUnicodeで宣言されている、ということです。
http://qed-jp.com/ はXML文書として宣言しているようなので、charsetパラメタを正しく指定してみては如何でしょう。
成程、とっかかりになりました。ありがとうございます。
平たく言えば、.htaccessに文字コードを指定してやればいいのでは、という事なので、色々試してみました。
一般的には、
AddType ”text/html; charset=UTF-8” .html .php
のみを指定すればよい、とこの事でしたが、このままではモジュール版phpファイルが上手く動作しないので、悩んでいたところ、
http://spt.jp.land.to/index.php?e=2
http://drupal.jp/node/215 (←のmatsuken氏の発言)
を参考に、対処してみました。
で、結局、
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value default_charset UTF-8
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation on
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input UTF-8
php_value mbstring.http_output UTF-8
php_value mbstring.detect_order UTF-8
php_value mbstring.substitute_character UTF-8
php_value mbstring.func_overload UTF-8
LayoutIgnoreURI *.html
LayoutIgnoreURI *.php
を.htaccessに記入したところ、見事に動きました!
解決のきっかけを与えていただき、本当にありがとうございます。
また機会がありましたら、よろしくお願いします。