• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XHTMLがIEのみ文字化け(UTF-8))

XHTMLがIEのみ文字化け(UTF-8)

このQ&Aのポイント
  • XHTMLで記述しUTF-8で保存した拡張子.htmlのファイルが、IE8で開いた時だけ文字化けします。
  • 試したことと問題点は、<meta>を入れる、BOMを付けて保存、.htaccessで「AddType application/xhtml+xml .html」を入れる、XML宣言を抜く、ブラウザで何度も更新などです。
  • XHTMLで書かれたサイトはたくさんあるのでちゃんとした解決策があるとは思うんですが、ググった限りでは、<meta>を入れろという記述か、ケータイサイトの話か、閲覧者のレジストリをいじるくらいしか見つけられませんでした。本当の解決法を教えてください。XML宣言とDOCTYPE宣言は正しく(Another-HTML lintで100点)書かれています。

質問者が選んだベストアンサー

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

現象を簡単に説明しますと、UTF-8であることを判別するための文字が、ソース中になかなか現れないということでしょう。UTF-8固有のバイト配列をソースの先頭のほうに記述することが対策になります。 そのひとつがBOMをつけることです。それが嫌ならUTF-8特有の文字を先頭近くに記述することです。 …で自分でも試してみたのですが「<span style="display:none;">怠怠</span>」が有効でした。本当はコメントでも大丈夫なはずなのですが、少なくとも私の環境(WinXP IE8 ローカルで実行)ではコメントは駄目でした。また一文字でも駄目で「怠怠」としたときにのみ正しく判別しました。 とりあえず「<span style="display:none;">怠怠</span>」で試してみてください。 で、もしよろしければ参考のために結果と環境(OS、ブラウザバージョン)を教えてください。 よろしくお願いします。 Unicode 版美乳テーブルを探せ http://www1.ocn.ne.jp/~tabby/language/binyu.html#ap03

rinrin_ring
質問者

お礼

ありがとうございます。 BOMを付けることに問題はないという解釈でいいですか? 美乳がUTF-8でもできるということは知りませんでした。

rinrin_ring
質問者

補足

OSはXPSP3、ブラウザはIE8です。 Firefox3、Opera10、Safari4、Chrome14では文字化けしません。 >怠怠 コメントアウト、本文中、1文字と2文字、すべて試しましたが改善されませんでした。

その他の回答 (2)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

ちょっと逆質問になりますが、「XHTMLでは<meta>は入れないことになっている」は、どこの情報ソースですか? 基本的には、xml宣言とmetaの両方でエンコーディング指定するものだと記憶してます。 あと、私はいつもstrictで書いているので、No.2さんの情報は知りませんでした。 少なくともstrictで書けば問題は起きないはずです。 strictで書くと言っても、IEの解釈はstrictではないというオチがありますがw

rinrin_ring
質問者

お礼

ありがとうございます。 strictで書いてます。どうせならきちんとしたものを書けるようにしたいと思うので最初からずっとstrictです。 でも逆にstrictだとIEのバグが避けられないということのようなので困っています。

rinrin_ring
質問者

補足

>XHTMLでは<meta>は入れないことになっている すみません。<meta>といっても「http-equiv」のことです 「XHTML UTF-8 文字化け」などで検索して見たサイトのいくつかとAnother-HTML lintで書かれていました。

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.2

xhtml やった人なら必ずぶつかるこの IE のバグだけど、 スタンダードモードにさせたいなら utf-8 でコーディングして xml 宣言なしで回避するしかなくて、さらに、meta で utf-8 を指定しないと自動認識に失敗する。。。 xhtml でも、ネームスペースが "http://www.w3.org/1999/xhtml" だけなら standalone だし、utf-8 なら xml 宣言を省略できるから、知ってるなかでは、ベターな解決かな? xml 文書は、xml 宣言の前には文字も含めてどんなコード許されないから、BOM となじまないとおもうよ。 そもそも、xhtml を直接ウェブサーバに置くなら、むりして xml にしなくて html でいいじゃないかということも。。。

rinrin_ring
質問者

お礼

ありがとうございます。 仕様に従おうとすると無理ということですか… >そもそも、xhtml を直接ウェブサーバに置くなら、むりして xml にしなくて html でいいじゃないかということも ここなんですが、XHTMLは勉強し始めたばかりでよくわからないんですが、ウェブサイトにXHTMLは必要ないということですか?XHTMLで書かれているサイトは割とよく見かけるんですが…

関連するQ&A

専門家に質問してみよう