iPhoneのブラウザをmercuryメインにしようと色々なサイト見てチェックしてたら、自宅サーバーのwebサイトのインデックスリストが文字化け化けじゃないですか。
自宅のwebサーバーにはanhttpdを使っています。anhttpdは設置や設定も簡単で、インデックスリストも日本語のファイル名もちゃんと表示されて良い物なんですが、これじゃ困ります。
anhttpdが出力するインデックスリストのhtmlのヘッダーに、キャラクタセットを宣言するメタタグが入ってないのが原因です。
たいていの、というか私が使ったことのあるブラウザは全部、それでも文字コード(shift-jis)を正確に自動判断して文字化けせずに表示してくれます。
でもmercuryはこれが苦手みたいです。mercuryはいろんな設定ができるので、デフォルトのコードを設定くらいできそうなもんですが、どっこいこれができないんですよ。
じゃ、anhttpd側でどうにかならないものか、ネットを調べたりレジストリの中を見たりしましたが、設定項目は無いようです。
うーんうーん、と悩んだ末、htmlのタグって入れ子OKだよね、それならもしやと思って、タイトル表示のところにメタタグを入れたら、あっさり文字化けしなくなりました。
ブラウザのタブにメタタグの文字列が表示されてちょっとウザいですが、まあいいとしましょう。
入力するタグは、
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
これをタイトル文字列の最初か最後に入れます。こんな感じですね。