3

私のASP.NETMVCアプリケーションでは、中国語のカテゴリ名を使用しており%E8%82%B2%E5%84%BF、IEのURLアドレスと同じように表示されていましたが、実際の値は「育儿」です。

%E8%82%B2%E5%84%BF'育儿'をC#で変換する方法と、それを元に戻す方法も知りたいです。URLリンクに「育儿」を直接表示することはできますか?それはSEOに良いでしょうか?

4

3 に答える 3

7

IEのアドレスバーに表示されるテキストは、これらの文字の16進バージョンのURLエンコード形式です。UTF-8でエンコードされた「育儿」の16進バージョンはE882B2E584BFです。

byte[] buffer = new byte[] { 0xE8, 0x82, 0xB2, 0xE5, 0x84, 0xBF };
string s = Encoding.UTF8.GetString(buffer);

sは「育儿」と同じです。

URLでまっすぐな漢字を送信しないでください。HttpServerUtility.UrlEncodeとUrlDecodeを使用してURLエンコードする必要あります

于 2009-09-03T18:58:32.207 に答える
2

HttpUtility.UrlEncodeはURLをエンコードし、HttpUtility.UrlDecodeはそれを元に戻します。

例:

string orig = "http://example.com/育儿";
string encoded = HttpUtility.UrlEncode(orig);
// encoded should equal "http://example.com/%E8%82%B2%E5%84%BF"
于 2009-09-03T19:07:00.160 に答える
0

(デフォルトではなく)Unicodeエンコーディングを使用していることを確認しましたか?デフォルトのエンコーディングは漢字を処理しません。

于 2009-09-03T18:54:18.583 に答える