私のASP.NET MVCアプリケーションでは、中国のカテゴリ名を使用していますが、IEのURLアドレスに%E8%82%B2%E5%84%BF
と表示されましたが、実際の値は「育てます。C#のエンコードとデコードの「中国語」の文字
C#で '育てる'を%E8%82%B2%E5%84%BF
に変換する方法を知りたいのですが、どうすれば元に戻すこともできます。 URLリンクに直接「育てる」を表示することは可能ですか?それはSEOのために良いでしょうか?
私のASP.NET MVCアプリケーションでは、中国のカテゴリ名を使用していますが、IEのURLアドレスに%E8%82%B2%E5%84%BF
と表示されましたが、実際の値は「育てます。C#のエンコードとデコードの「中国語」の文字
C#で '育てる'を%E8%82%B2%E5%84%BF
に変換する方法を知りたいのですが、どうすれば元に戻すこともできます。 URLリンクに直接「育てる」を表示することは可能ですか?それはSEOのために良いでしょうか?
IEのアドレスバーに表示されるテキストは、それらの文字の16進版のURLエンコード形式です。 UTF-8でエンコード '育儿' の六角バージョンがE882B2E584BFれる:
byte[] buffer = new byte[] { 0xE8, 0x82, 0xB2, 0xE5, 0x84, 0xBF };
string s = Encoding.UTF8.GetString(buffer);
s 'は育儿' に等しいです。
URLにストレート漢字を送信しないでください。HttpServerUtility.UrlEncodeとUrlDecodeを使用してURLをエンコードする必要があります。
(既定値ではなく)Unicodeエンコードを使用していることを確認しましたか?デフォルトのエンコーディングは中国語文字を処理しません。
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"
あなたは親切に私に例を与えることはできますか? – CodeYun