なにこれ?

クエリーストリングの文字コードが想定されていないものだと、サーバーは正常な結果を返しません。

例えば、
http://www.utamap.com/searchkasi.php?searchname=title&word=%E3%81%95%E3%81%8F%E3%82%89 (UTF-8)
は何にも一致しませんが、
http://www.utamap.com/searchkasi.php?searchname=title&word=%82%B3%82%AD%82%E7 (Shift_JIS)
は正しい結果を返してくれます。

Proxomitron では文字コードを変換できないため、Alias Redirector などでマルチバイト文字を使用すると、正常な結果を得られない事があります。

そこで、このスクリプトを使用して解決を試みます。

使用方法 ver.2009-07-19

URL の hash (fragment) 部分を使用します。
#from-encoding;to-encoding;URL で、URL のマルチバイト文字部分を from-encoding から to-encoding に変換した URL にジャンプします。
例: 〜.htm#utf8;sjis;http://www.utamap.com/searchkasi.php?searchname=title&word=%E3%81%95%E3%81%8F%E3%82%89

以下のような書き方も出来ます。まず無いと思いますが、URL 中に複数の文字コードが含まれている場合に使用してください。
##from-encoding;to-encoding;string## が含まれている場合、##〜## を全て処理します。
例: 〜.htm#http://www.utamap.com/searchkasi.php?searchname=title&word=##utf8;sjis;%E3%81%95%E3%81%8F%E3%82%89##

from-encoding を省略すると自動認識します。
http:// 省略可能。([IE] URL に使用可能な文字数は最大 2,083 文字

更新履歴

2009-07-19 InternetExplorer 6 & 7 で動作確認
2009-07-17 InternetExplorer 8, Firefox 3.5.1, Opera 9.63, Chrome 2.0.172.37, Safari 4.0.2 で動作確認

謝辞

Escape Codec Library: ecl.js改良版を使用させていただいています。 ありがとうございます。