Windows8でHTMLヘルプが文字化け

自作ソフトのWindows8対応がまだ完全には終わっていないため、少しずつ進めているが、
RSS速報と、アフィリサーチのヘルプが文字化けすることに気付いた。
01


でも何故かプチカレンダのヘルプは化けずに表示されている。
02
何が違うのか。
プチカレンダのヘルプは、HTML Help Workshopのウィザードを使ってWindowsヘルプからHTMLヘルプにコンバートして作成したが、
RSS速報アフィリサーチは、新規にHTMLソースから自作していた。
この2つは新規作成時、文字コード宣言を省いたまま作成していたが、これがいけなかったようだ。
HTMLヘルプの基となるHTMLファイル自体がSJISで保存していたが、そのHTMLソース内に文字コード宣言が無い。
この文字コード宣言を省略したときの動きがWindows7までと、Windows8で異なるようで、
Windows7までは、SJIS(Windows標準文字コード)と判断し、Windows8からはUTF-8(実質インターネット標準の文字コード)として扱われるようだ。
結局、SJISファイルをUTF-8で表示しようとしていたため文字化けが発生していた。
なので、HTMLソース内がSJISだよと分からせるため、以下のmetaタグを追加し、文字化けしないよう修正した。


これで文字化け解消。
03
HTMLファイルをUTF-8保存し直せばいいが、そうするとWindows7までが逆に文字化けしそう。
他に、HTMLファイルをUTF-8保存し、metaタグでもUTF-8宣言する方法でも良さそう。
でも、この問題はHTMLヘルプだけではなく、一般的にWebサイトも同様。
ちゃんと文字コード宣言はしておくべきだった。
でもこれ、Windows8/Windows7の違いというか、IE10(HTML5)とIE9(HTM4)の違いなのかも知れない。

Leave a comment

メールアドレスが公開されることはありません。

CAPTCHA


*