ich ein C# .net Web-Projekt, das eine Globalisierung Tag hat auf:Erste U + FFFD/65533 anstelle von Sonderzeichen aus Query String
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
Wenn diese URL eine Flash-Anwendung (Sie das gleiche bekommen Problem, wenn Sie geben die URL manuell in einem Browser): c_product_search.aspx suchen = kjøkken (alternativ:? c_product_search-aspx search = kj% F8kken
die beiden folgenden Zeichencodes zurück:
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
Ich weiß nicht viel über die Zeichencodierung, aber es scheint, dass der ø ein Unicode-Ersatzzeichen erhalten hat, oder?
Ich versuchte, die Globalisierung Tag zu ändern:
<globalization requestEncoding="iso-8859-1" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
, dass die Anfrage Arbeit gemacht. Jetzt jedoch funktionieren andere Suchvorgänge auf meiner Seite nicht mehr.
Ich habe versucht, auch die folgenden mit ähnlichen Ergebnissen:
NameValueCollection qs = HttpUtility.ParseQueryString(Request.QueryString.ToString(), Encoding.GetEncoding("iso-8859-1"));
string search = (string)qs["search"];
Was soll ich tun?
Mit freundlichen Grüßen,
Nitech
Danke. Wenn Sie auf den Boden schauen - diese Lösung hat für mich funktioniert. Ich konnte die Codierung im cs-Code nicht ändern. Ich musste es tun, bevor die Sitzung begonnen wurde - in global.asax. Aber vielleicht funktioniert Ihre Lösung, weil sie nicht versucht, die Kodierung des HTTPContext zu ändern. – nitech
Nur um diese Frage zu schließen. Sowohl meine als auch diese und wahrscheinlich andere Antworten auf dieser Seite werden Ihnen weiterhelfen. Es ist ein Jahr her, seit ich AS-Codierung gemacht habe, also habe ich das nie richtig testen können. – nitech
Der letzte Vorschlag hat hervorragend funktioniert. Vielen Dank. – Karlth