3

わかりやすい URL を必要とする Web アプリケーションを作成していますが、7 ビット以外の ASCII 文字を処理する方法がわかりません。アクセント付きの文字を URL エンコードされたエンティティに置き換えたくもありません。この種の変換を可能にする C# メソッドはありますか、それとも、処理したいすべてのケースを実際にマッピングする必要がありますか?

4

7 に答える 7

2

UTF-8 を使用します。

非 ASCII 文字は最初に UTF-8 [STD63] に従ってエンコードする必要があり、次に対応する UTF-8 シーケンスの各オクテットをパーセントでエンコードして URI 文字として表す必要があります。— RFC 3986

于 2009-03-04T18:26:55.520 に答える
1

わかりました-ここにいくつかの良い答えがあります。それらの方法は機能します。しかし、私はあなたの基本的な前提に疑問を持たなければなりません。あなたが議論しているこれらの値は、基本的にクエリ文字列パラメーターになると思いますよね?これが、特殊文字を除外する必要がある最も一般的な理由です。

2 ~ 3 年間、文字列のエンコード/デコードのアプローチを使用して、クエリ文字列を介してこのようなものを渡しました。断続的な問題が常にありました。というのは、非常に多くの異なる特殊文字の可能性があり、あるブラウザーと別のブラウザーで問題があるなどです。2005 年、私が取り組んでいたシステムの多くを書き直していたときに、クエリ文字列を介して id 値のみを渡すように移行することにしました。このアプローチは非常にうまく機能しており、欠点は思い浮かびません。データベースのバックエンドがある場合は、ほとんどすべての文字列に既に ID が関連付けられています。これが検索などの目的である場合は、いつでもフォーム ポスト経由で送信できます。または、AJAX ソリューションを使用することもできます。

これらの方法がすべての状況に最適であるとは限りません。ここには他のどこよりも特効薬はありませんが、このアプローチはシンプルで、私と私のチームにとって非常に機能的でした。少なくとも検討する必要があります。

于 2009-03-04T18:47:18.250 に答える
0

http://モントリオール.com

(ブラウザでコピー&ペースト、動作しますか?)

于 2009-03-04T18:26:00.267 に答える