Internet Explorer 6 で UTF-8 のコンテンツを閲覧した場合、日本語が正常に表示されないことがある

現象

Microsoft Windows XP SP2 または、Microsoft Windows 2003 Server に JIS2004 フォントをインストールした状態で UTF-8 フォーマットのコンテンツを Microsoft Internet Explorer 6 で閲覧した場合、日本語が正しく表示できないことがあります。

この問題は、下記の条件をすべて満たしている場合に発生することがあります。

  • JIS2004 フォントをインストールしている。
  • コンテンツを Unicode (UTF-8 の他の Unicode でも発生します。) でエンコードしている。
  • コンテンツ内で "MS ゴシック"、"MS 明朝"、または "MS P 明朝" のフォントを、<font> タグおよびスタイル指定のいずれかで設定している。
  • Internet Explorer 6 を使用している。
また、JavaScript の document.write や document.writeln により文字を表示する場合、UTF-8 フォーマットで文字がエンコードされます。そのため、文字フォントに "MS ゴシック"、"MS 明朝" または "MS P 明朝" を指定し、JavaScript で文字を表示した場合にも本現象が発生します。

回避策

次のいずれかの方法で、現象を回避することが可能です。
  • コンテンツを Unicode ( UTF-8 の他の Unicode を含む) 以外でエンコードする。
  • コンテンツ内のフォント指定を、"MS ゴシック"、"MS 明朝"、または "MS P 明朝" 以外のフォントにする。
  • Web サーバー側で表示する Web ページの HTML ファイル の <body> タグに lang="ja" を追加する。

    : 複数のタグが入れ子になっているコンテンツで lang="ja" を追加する場合、<body> タグ以外にも、文字表示が不正になっている箇所の全てのタグに lang="ja" を追加する必要があります。

    例 :

    <body lang="ja">
    <div lang="ja">
    <table lang="ja">

状況

この問題は、Internet Explorer 6 での制限事項となります。

なお、この問題は、Windows Internet Explorer 7 では発生しません。

詳細

問題の再現手順

  1. Windows XP SP2 に JIS2004 フォントをインストールします。
  2. 以下の html タグをコピーし UTF-8 形式のファイルで保存します。
    <html>
    <font font size="6" face="MS ゴシック">
    <body>
    処理区分は変更できません。<br>
    </body>
    </font>
    </html>
  3. 保存した html ファイルを表示します。

結果

日本語が正しく表示できない場合があります。



なお、上記 2. の html の <Body> タグ に lang="ja" を追加すると正常に表示できるようになります。
<html>
<font font size="6" face="MS ゴシック">
<body lang="ja">
処理区分は変更できません。<br>
</body>
</font>
</html>
プロパティ

文書番号:943922 - 最終更新日: 2009/07/08 - リビジョン: 1

フィードバック