Il codice seguente:
var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"));
risulta in una variabile text
che contiene, tra molte altre cose, la stringa
"$ Κ $ -Minkowski spazio, campo scalare e problema dell'invarianza di Lorentz"
Tuttavia, quando visito quell'URL in Firefox, ottengo
$ κ $ -Spazio di Minkowski, campo scalare e problema dell'invarianza di Lorentz
che è effettivamente corretto. Ho anche provato
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);
ma questo ha dato lo stesso problema.
Non sono sicuro di dove sia la colpa qui. Il feed sta mentendo sul fatto di essere codificato in UTF8 e il browser è abbastanza intelligente da capirlo, ma non WebClient
? Il feed è codificato correttamente in UTF8, ma WebClient
non funziona in altro modo? Cosa posso fare per mitigare questo problema?
UTF8Encoding.Default
è in realtàEncoding.Default
, che è la codifica ANSI basata sulle impostazioni della lingua del sistema operativo.