文字コードを考慮したURLDecode関数をASPで作成したいのですが方法がわかりません。

例えば、文字列「あいう」のURLEncode結果は以下のとおりです。
SJIS:%82%A0%82%A2%82%A4
EUC :%A4%A2%A4%A4%A4%A6
UTF8:%E3%81%82%E3%81%84%E3%81%86
エンコードの種類とエンコード文字列を引数にとり、String型変数を返す関数を作成したいのです。つまり、
s = URLDecode(”SJIS”, ”%82%A0%82%A2%82%A4”) ’ s=”あいう”
を実現する関数です。いろいろ調べたのですが、その内部ロジックがわかりません。

この方法について記述されたサイトがありましたら、教えてください。ASP限定です(ASP.Netなど他の言語は不可)
最終的にやりたいことは「検索サイトで入力された検索キーワードをログから集計する」です。
回答欄に、直接ロジックを書かれてもかまいませんが、要件を満たすものでなければポイントは差し上げられませんのでよろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:ohmix1 No.1

回答回数235ベストアンサー獲得回数14

ポイント40pt

動作確認まではしておりませんが、こちらのスクリプトソースが

ご要望のものではないかと思うのですが、文字コード変換に別途BASP21を

利用しています。

BASP21コンポーネントはこちら。

http://www.vector.co.jp/soft/win95/util/se316693.html

iconv.VBSの詳細情報 : Vector ソフトを探す!

BASP21を利用したくない場合は、VBSでコード変換ロジックを書く必要があります。

上記URLのソースが参考になりそうです。

ちらっと見たところADOを利用してコード変換を行うようです。

id:auction

回答ありがとうございます!

でも、うーん、これとはちょっと違うのです。

いわゆる文字列の文字コード変換(SJIS、EUCなどの相互変換)をやりたいのではなくて、日本語文字列をURLエンコードされた文字列(%82%A0%82%A2%82%A4)などを、元の日本語に戻したいのです。

例えば、Yahooのサイトで「はてな」で検索すると、検索結果のページのURLは以下のとおりになります。

http://search.yahoo.co.jp/bin/search?p=%A4%CF%A4%C6%A4%CA&fr...

このURLに含まれる「%A4%CF%A4%C6%A4%CA」の部分を、元の日本語に戻してくれるASPスクリプトを書きたいのです。

引き続き回答を待ちますので、よろしくお願いいたします。

2004/11/18 22:03:49

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません