J'ai un projet Web C# .net qui ont une étiquette de mondialisation définie sur:Obtenir U + FFFD/65533 au lieu de caractère spécial de la chaîne de requête
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
Lorsque cette URL une application Flash (vous obtenez le même problème lorsque vous entrez l'URL manuellement dans un navigateur): c_product_search.aspx recherche = kjøkken (alternative:? c_product_search-ASPX recherche = kj% F8kken
les deux renvoient les codes de caractères suivants:
k U+006b 107
j U+006a 106
� U+fffd 65533
k U+006b 107
k U+006b 107
e U+0065 101
n U+006e 110
Je ne sais pas trop sur le codage de caractères, mais il semble que le ø a reçu un caractère de remplacement Unicode, non?
J'ai essayé de changer l'étiquette de la mondialisation:
<globalization requestEncoding="iso-8859-1" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
qui a fait le travail à la demande. Cependant, maintenant, d'autres recherches sur ma page ont cessé de fonctionner.
J'ai aussi essayé ce qui suit avec des résultats similaires:
NameValueCollection qs = HttpUtility.ParseQueryString(Request.QueryString.ToString(), Encoding.GetEncoding("iso-8859-1"));
string search = (string)qs["search"];
Que dois-je faire?
Cordialement,
Nitech
Merci. Si vous regardez en bas, cette solution a fonctionné pour moi. Je n'ai pas pu changer l'encodage dans le code cs. Je devais le faire avant que la session ne soit lancée - à l'intérieur de global.asax. Mais peut-être que votre solution fonctionne parce qu'elle n'essaie pas de changer le codage du HTTPContext. – nitech
Juste pour clore cette question. Le mien et ceci et probablement d'autres réponses sur cette page vous aideront. Cela fait un an que j'ai fait un codage AS, donc je n'ai jamais pu tester ça correctement. – nitech
La dernière suggestion a fonctionné brillamment. Merci. – Karlth