Dans mon application ASP.NET MVC j'utilise Chinese Category Name, il était affiché comme %E8%82%B2%E5%84%BF
dans l'adresse URL d'IE, mais la valeur réelle est '育儿'. Je veux savoir comment je peux convertir '育儿' en %E8%82%B2%E5%84%BF
en C# et comment puis-je le convertir, aussi. Est-il possible d'afficher '育儿' dans le lien URL directement? Sera-ce bon pour le référencement?Comment utiliser l'encodage C# et décoder les caractères 'chinois'
2
A
Répondre
6
Le texte affiché dans la barre d'adresse d'IE correspond au format codé en URL de la version hexadécimale de ces caractères. La version hexadécimale de '育儿' codé en UTF-8 est E882B2E584BF:
byte[] buffer = new byte[] { 0xE8, 0x82, 0xB2, 0xE5, 0x84, 0xBF };
string s = Encoding.UTF8.GetString(buffer);
s est égal à 育儿.
Vous ne devez pas transmettre les caractères chinois directs dans l'URL, il doit être codé en URL en utilisant HttpServerUtility.UrlEncode et UrlDecode.
0
Avez-vous vérifié pour vous assurer que vous utilisez le codage Unicode (au lieu du défaut)? L'encodage par défaut ne gère pas les caractères chinois.
1
HttpUtility.UrlEncode va encoder une URL, et HttpUtility.UrlDecode va le changer.
Exemple:
string orig = "http://example.com/育儿";
string encoded = HttpUtility.UrlEncode(orig);
// encoded should equal "http://example.com/%E8%82%B2%E5%84%BF"
Pouvez-vous bien vouloir me donner un exemple? – CodeYun