IE6で文字化け
// 2009年11月13日 // Comments (0) // Webサイト構築
最近はWebページのエンコーディングをUTF-8で統一しています。
MySQLとの絡みもあるし、全世界的に見てもUTF-8がスタンダードになりつつあるからです。
ところが、UTF-8で作成した弊社WebサイトのトップページがIE6で文字化けすると言うのです。
自分の環境(Mac+SafariやWin+IE6など)ではきちんと表示されていたので、そんなバカな〜!で済ませていたのですが、Win+IE6の設定をデフォルトに戻してみたら、なんと言われる通り見事に文字化け!
慌ててHTMLファイルをチェックしたけれど原因が分かりません。
冒頭に<?xml version=”1.0″ encoding=”UTF-8″?>があり、head部に<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />があります。
もちろんファイルの保存形式もUTF-8になっています。
これは本腰を入れて何とかしなくては・・ということで、調べたところ原因が分かりました。
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />より上に日本語があると文字化けになるということでした。
つまり、これでは文字化けする↓
<head>
<meta name=”keywords” content=”(キーワードの文言を羅列している部分)” />
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
(以下、略)
で、このように上下を入れ替えたら文字化けしない↓
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<meta name=”keywords” content=”(キーワードの文言を羅列している部分)” />
(以下、略)
たったこれだけの事でした。
これで閲覧者のIE6の文字コードの設定が自動になっていてもきとんと表示します。
トップページ以外はすべてこの順序になっていましたが、トップページにはキーワードを記載する際、深く考えずに<head>の真下に書いたことが敗因でした。何とも情けない話。

