2012-02-16 7 views
0

私のASP.net Webアプリケーションは、titleという名前のクエリー文字列を持つ別のアプリケーションから要求を取得しています。デフォルトのデコードを行わずにクエリーストリングの値を取得する方法は?

例:www.abcdefg.com?title= & APER%e7u +デュのR%のe9gime

注+:クエリ文字列アクセント文字を持つフランス語の単語です。 テキスト "Aperçudurégime"は、 "ISO-8859-15"エンコーディングを使用してエンコーディングしてクエリーストリングテキストを生成します。

問題 私は

Request.QueryString["title"] 

を使用してクエリ文字列にアクセスすると、私はアクセント文字を持っていませんデコードテキストを取得します。

例:デコードしたりして復号化するために、サーバーのどちらかではない を伝えるためにASP.Netで:(メタデータなど)Aperuデュ

をrgimeだから私の質問は、いずれかの方法があるさ特定のデコーダEg: "ISO-8859-15"

正確に同じクエリー文字列を取得できたら、実際のフランス語テキストを生成するためにHttpUtility.UrlDecodeを使用できます。

答えて

2

あなたが要求エンコーディングを指定するために、あなたのweb.configファイルで<globalization>要素を使用することができます。

<globalization requestEncoding="iso-8859-15" /> 
+0

それはUTF-8でshould'nt」 –

+1

@RoyiNamir - しませんか? URLがUTF-8でエンコードされていない場合(この場合はそうではありません) – Oded

+0

@RoyiNamir、no。クエリ文字列はutf-8でエンコードされていないため、ガベージが発生します。 –

関連する問題