webForumDet fria alternativet

StreamReader konverterar åäö

.NETur .NET

0 svar · 456 visningar · startad av PBF

PBFMedlem sedan mars 200657 inlägg
#1

Tjenare!

Har ett jQuery.ajax-GET-anrop som jag skickar till en Generic Handler bestående av bl.a. följande kod:
[CODE]
string formattedUri = String.Format(WebServiceURL, card.CardName, preferedLanguage);

HttpWebRequest webRequest = GetWebRequest(formattedUri);

HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();

string jsonResponse = string.Empty;

using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) {
jsonResponse = sr.ReadToEnd();
}[CODE]

Skickar in ett ID som jag sedan använder för att hämta namnet på vederbörande, i detta fall "Göran Persson".

Under min debugging-tour i denna kod så skrivs Göran Persson ut som det ska tills sr.ReadToEnd() körs. Jag har Encoding.UTF8, databastabellen och därmed fältet är UTF-enkodat. I jQuery.Ajax-anropet har jag definierat:

contentType: "application/json; charset=utf-8"

och i min Generic Handler har jag högst upp:

context.Response.ContentEncoding = Encoding.UTF8;

Vad kan jag mer testa?

Just nu returnerar den Göran Persson som: G\u00c3\u00b6ran Persson\n och när detta skickas tillbaka till min aspx-sida skrivs det ut som: Göran Persson. Jag kan ersätta "\u00c3" till "ö" och "\u00b6" till "ä", men grejen är att jag ska returnera data, och den hämtar datan i StreamReadern.

Vad ska jag göra?

135 ms totalt · 3 externa anrop · v20260731065814-full.94fcd635
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)