2011-07-20 26 views
0

URLクエリ文字列に必要な任意の文字をユーザーが入力できる状況があります。URLクエリ文字列から特殊文字を読み取る

例:私はURLのクエリ文字列からasp.netでは、このような‡などの特殊文字を受け入れ、そして†するにはどうすればよい

http://localhost/default.aspx?ID=a‡jljglkjg

?私は、これらのURL文字列を取得しようとすると、これらの特殊文字が "?"に置き換えられることを発見しています。

注:ユーザーは、これらのクエリ文字列をURLに入力します。

+0

なぜUrlEncodeを作成しないのですか?これは許されないのですか?次に、どのようにこの文字を取得しようとすると - どのような機能ですか? – Aristos

+0

私はこれらの文字を取得するためにRequest.QueryStringを使用しています。 – m0g

答えて

0

URLは、ASCII character-setを使用してインターネット経由でのみ送信できます。

これらの文字は常に除外されるため、別の方法で検索する必要があります。

+0

私は、このクエリ文字列を正しく取り込み、再度表示することができる従来のASPを使用するレガシーアプリケーションを持っています。 – m0g

1

このURLはであり、RFCによると間違っています。

  • 彼らは、ブラウザを使用している場合、それは通常必要ecndoingを行うだろう。それはJavaScriptによって行われた場合、それが有効なURLとエンコード特殊文字の詳細については、http://www.w3schools.com/tags/ref_urlencode.aspを参照してくださいHttpUtility.UrlEncodehere
+0

古典的なASPがこの要求を正しく処理できますが、asp.netは正しく処理できないのはなぜですか? – m0g

+0

また、キャレット(^)は有効なリクエストですが、それも疑問符に置き換えられます。何故ですか? – m0g

+0

ASPは処理する前にそれをクリーンアップしている可能性があります。 '^'と混同していると思います。 – Aliostad

0

を使用して、C#のアプリであれば

  • encodeURIcomponent
  • を使用しています。

  • 関連する問題