IE8には「開発者ツール」というWebページのデバッグツールが標準で付いていて、ページの不具合発見やスクリプトの検証に役立ってるんですけど、スクリプトに記述した日本語(コメントや変数の値等)がみんな文字化けしてるんです。
Webページのソースに関しては日本語も文字化けせずに表示できてるんですが・・・
文字化けを起こしてるのでエンコードタイプがらみだと思うのですが、Webページはcharsetで指定されているエンコードタイプで表示してるんだと思うんですよね。
でもスクリプトデバッグにはエンコードタイプを指定するような項目もなく・・・
で、MSDNになんか出てないかと見てみたら、Beta版の頃に日本語が文字化けすると報告してる人がいたんですけど、IEチームの回答は「Beta2では起きていない」ってなってました。
でもその下に「RC1でも文字化けする」って報告してる人がいるんですけどね^^;
結局製品版でも文字化けしてると。
と言うことで、外部スクリプトのエンコードタイプを変更してみました。
わたしは特に問題がない限り、HTMLをShift-JISで書いています。って言うか、メモ帳が標準でShift-JIS(実際はASCIIコード)だからなんですけどね^^;
なので、スクリプトのエンコードタイプも当然、Shift-JISになるわけなんですけど、これを何に変えればいいかです。
そこでピンと来たのがUnicode。
なんでUnicodeかと言うと、WindowsXPまでのWindowsはシステムの文字コードが「基本的にShift-JIS」になってるんですけど、Windows Vistaからは追加文字の関係から【基本Unicode】に変わってるんですね。
元々IE8はVistaや7に搭載するために開発されてたブラウザなので、「基本Unicode」であっても不思議ではないです。
※Windows2000やXPでも内部的にはUnicodeを使用していますが、入出力は基本的にShift-JISでやり取りを行っています。
そこで、メモ帳でエンコードタイプをUnicodeで保存して、それに合わせWebページのcharsetを変更してみると・・・
ちゃんと日本語が表示されました^^v
【結論】
「開発者ツールでは、エンコードタイプがUnicode以外のスクリプトは、日本語が文字化けを起こす。」
ちなみに、HTMLに記述したスクリプト内の日本語は、HTMLのcharsetが効いているので文字化けせずに表示されます。
でもねぇ・・・
HTMLで"Shift-JIS"って指定してるんだから、スクリプトやCSSも当然Shift-JISになるでしょうよ普通。
なんでUnicode決め打ちにするのかなぁ・・・少なくともエンコードタイプ変更できるようにしてほしかったよぅ・・・
|