はてなアンテナから自分のブログサイトを確認しようとすると、必ずと言っていいほど自分の環境(WinXP,IE6)では文字化けが発生します。

通常のブックマークから開く場合は文字化けが発生しませんが、アンテナより開いた時に限って、UTF-8で記述しているブログがShift_JISに文字化けします(そして、再読込すると必ず直ります)。metaタグは記述しているのですが、原因がさっぱり分かりません。可能性としてはどのような事が考えられますでしょうか? ご教示をお願いします。
なお、私のサイトのURLはhttp://qed-jp.com/です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:worstman No.1

回答回数121ベストアンサー獲得回数6

ポイント40pt

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パラメタを正しく指定してみては如何でしょう。

id:ykurubushi

成程、とっかかりになりました。ありがとうございます。

平たく言えば、.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に記入したところ、見事に動きました!

解決のきっかけを与えていただき、本当にありがとうございます。

また機会がありましたら、よろしくお願いします。

2006/03/04 17:27:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません