El siguiente código:
var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"));
da como resultado una variable text
que contiene, entre muchas otras cosas, la cadena
"$ κ $ -Minkowski espacio, campo escalar y el problema de la invariancia de Lorentz"
Sin embargo, cuando visito esa URL en Firefox, obtengo
$ κ $ -Espacio de Minkowski, campo escalar y el problema de la invariancia de Lorentz
que es realmente correcto. También lo intenté
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 culpa. ¿El feed miente acerca de estar codificado en UTF8 y el navegador es lo suficientemente inteligente como para darse cuenta de eso, pero no WebClient
? ¿El feed está codificado correctamente en UTF8, pero WebClient
falla de alguna otra manera? ¿Qué puedo hacer para mitigar esto?
UTF8Encoding.Default
es en realidadEncoding.Default
, que es la codificación ANSI basada en la configuración de idioma del sistema operativo.