Q

Internet ExplorerではHTMLページのソース・コードをメニュー・バーの[表示]-[ソース]を実行することでメモ帳(notepad.exe)に表示できます。しかし,HTMLページによってはソース・コードが文字化けすることがあります(図1)。調べてみると,どうやらEUC-JPやJIS(ISO-2022-JP)でエンコードされたHTMLページの場合にトラブルが発生しているようです。こうしたHTMLページのソース・コードを正しく表示させるにはどうすればいいのですか?


△ 図をクリックすると拡大されます
図1●Internet ExplorerではHTMLのソースを表示させたとき,E UC-JPやJIS(ISO-2022-JP)でエンコードされたソースが文字化けする

A

CGI(Common Gateway Interface)による出力を確認するときなど,EUC-JPやJIS(ISO-2022-JP)でエンコードされたHTMLページのソースを表示させたいことは多々あります。しかし,Internet Explorerでは,HTMLのソースを表示させるときに起動するメモ帳(notepad.exe)がWindows 2000になっても,ASCII(Shift_JIS/Windows-31J),UTF-8,Unicode(ISO-10646-UCS-2)にしか対応しておらず,EUC-JPやJIS(ISO-2022-JP)は扱えません。このため,Internet Explorer上では,EUC-JPやJISでエンコードされたHTMLページのソース・コードを正しく表示できません。

 ただし,HTMLソースを表示するビューアであるメモ帳を,EUC-JPやJISに対応する別のビューアに変更することで,そうしたページのソースを表示させることが可能です。MSDNのInternet Explorer Client Registry Layout(該当サイト)によると,Internet Explorer 4以降なら,レジストリを変更することで可能になります。レジストリ・キー
「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Internet Explorer\View Source Editor\Editor Name」に,変更したいビューアをフル・パス名で登録するだけです。値の型はREG_SZです。

 ただし,実際に試してみたところ,いくつか気を付けなくてはならないところがあります。


△ 図をクリックすると拡大されます
図2●レジストリを設定すると,別のビューアでHTMLのソースを開ける

 例えば,レジストリ・キーのパスの一部である「View Source Editor」と「Editor Name」は共にデフォルトでは存在しません(図2)。新たに作成する必要があります。

 コマンド・ライン・オプションを併記することはできません。オプションまで含めてフル・パスのつもりで起動しようとしてしまいます。例えば,サクラ・エディタというビューアを-Rオプション付きで指定するつもりで
「C:\Program Files\sakura\sakura.exe -R」と書くと,
「"C:\Program Files\sakura\sakura.exe -R".exe」を起動しようとして失敗します

 また,Internet Explorer 6以前のバージョンでは,ビューアの起動時に表示するファイル名をそのまま渡すようで,名前にスペースを含むファイルをハンドリングできない可能性があります。スペースで区切られていると,2つのファイル名と判断されるとなっていました。

 Windows 2000では,レジストリを直接変更することで,ビューアを変更しましたが,Windows XPでは,Microsoft PowerToys for Windows XPのTweak UIからHTMLのソースを表示するビューアの設定を変更できます。

小森博司