【发布时间】:2018-01-03 13:10:14
【问题描述】:
我正在使用 webclient 从 sharepoint 在线下载 XML 文件。
但是,当我使用WebClient.DownloadString(string url) 方法时,某些字符没有正确解码。
当我使用WebClient.DownloadFile(string url, string file) 然后我读取文件时,所有字符都是正确的。
xml 本身不包含编码声明。
string wrongXml = webClient.DownloadString(url);
//wrongXml contains Ä™ instead of ę
webClient.DownloadFile(url, @"C:\temp\file1.xml");
string correctXml = File.ReadAllText(@"C:\temp\file1.xml");
//contains ę, like it should.
另外,在 Internet Explorer 中打开 url 时,显示正确。
这是为什么呢?是因为我机器上的默认 windows 编码还是 webclient 在使用 DownloadString 时处理响应不同,resp DownloadFile?
【问题讨论】:
-
仅供参考,您应该使用首选的
HttpClient而不是旧的WebClient -
@CamiloTerevinto:哦,是的,这确实解决了问题。您应该将其添加为答案
标签: c# .net character-encoding webclient