IE7(XPのIE6)にて表示されるべきページが表示されない現象。firefoxやIE6ではしっかり表示されていました。表示されないというのは大きな問題です。表示されなかった部分のソースのヘッダ部は下記のようになっていました。

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja” lang=”ja”>
<head>
<title>IEでページが真っ白になる問題(仮)</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<meta http-equiv=”Content-Script-Type” content=”text/javascript” />
<meta http-equiv=”Content-Style-Type” content=”text/css” />
</head>
<body>
コンテンツ
</body>
</html>

この現象の原因はtitleタグが文字コード宣言より先にあるからだということがわかりました。というわけでtitleタグを文字コード宣言より下に持ってくることでしっかり表示されました。

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<meta http-equiv=”Content-Script-Type” content=”text/javascript” />
<meta http-equiv=”Content-Style-Type” content=”text/css” />
<title>IEでページが真っ白になる問題(仮)</title>

文字符号化方法を知るまでに ASCII の範囲外のバイト値が現れると、タグを正常に解釈できなくなる可能性があるということでした。