IEのエンコード

前回の続き。ちょっと詳しく見てみました。

*

UTF-16LE BOM付きで書かれたHTMLファイルを読み込むと、Unicode1として認識するのだけど、BOM無しだと文字化けしてしまう。
これは、headタグ内で以下のように文字コードを指定しても解消されなかった。UTF-16、UTF-16LE、Unicodeと色々試したがダメだった。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-16LE" />

もう少し詳しく見てみると、普段IEの[表示]メニューの[エンコード]を見ると、Unicode系では「Unicode (UTF-8)」しか無いのだけど、上記のようにUTF-16のHTMLを読み込むと、「Unicode」というのが淡色表示で追加され、選択状態になっていた。

また、Sleipnir2の場合、[表示]→[エンコード]と辿って見た場合のみ、「Unicode (UTF-7)」を選択できるようだ。
独自にUTF-7から他の文字コードへの変換エンジンを持っているか、IEのコンポーネントではUTF-7に対応しているということだろうか。

ちなみに環境は、Win2k + IE6である。

*

いや、なんでUTF-16で書かれたHTMLを読ませたいのかというと、RegnessemのLoggerがShift-JISかUnicodeのどっちかしか吐いてくれないのね。
Shift-JISだとUnicodeにしか無い文字が保存できないからUnicodeで保存してるんだけど、それを読むときの問題なの。2
文字コードってややこしい。;(

  1. WindowsではUTF-16LEのことをUnicodeと呼ぶらしい
  2. BOM付ければいいってことで一応解決したけど。

コメントを残す