FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Tjenare!
Har ett jQuery.ajax-GET-anrop som jag skickar till en Generic Handler bestående av bl.a. följande kod: Kod:
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(); } 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? Detta måste på nåt sätt ske innuti min StreamReader då det är den som anropar response.GetResponseStream() och hämtar datan från Wikipedia. Just nu replace:ar jag efter StreamReaders using-block, vilket inte har nån betydelse egentligen förutom att det skrivs ut med rätt bokstäver nu, men den hämtar inte korrekt wikipediaartikel då hämtningen av data sker inne i StreamReadern. 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. Har även kollat upp att avändaren skickar UTF8, så då ska jag även ta emot som UTF8 som jag redan gör. Vad ska jag göra? |
||
![]() |
![]() |
|
|