El siguiente código:resultados WebClient.DownloadString en caracteres destrozados debido a problemas de codificación, pero el navegador está bien
var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"));
resultado en una variable text
que contiene, entre otras muchas cosas, la cadena
"espacio Iº $ $ -Minkowski, campo escalar, y la cuestión de la invariancia de Lorentz"
Sin embargo, cuando vuelva a esa URL en FireF buey, me sale
$ κ $ -Minkowski espacio, campo escalar, y la cuestión de la invariancia de Lorentz
que es realmente correcto. También probé
var data = (new WebClient()).DownloadData("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20");
var text = System.Text.UTF8Encoding.Default.GetString(data);
pero esto dio el mismo problema.
No estoy seguro de dónde está la falla. ¿La información acerca de que está siendo codificada en UTF8, y el navegador es lo suficientemente inteligente como para darse cuenta, pero no WebClient
? ¿Está la alimentación correctamente codificada en UTF8, pero WebClient
está fallando de alguna otra manera? ¿Qué puedo hacer para mitigar esto?
'UTF8Encoding.Default' es en realidad' Encoding.Default', que es una codificación ANSI basada en la configuración de idioma del sistema operativo. – svick