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>の真下に書いたことが敗因でした。何とも情けない話。

関連記事

コメント投稿欄