.net 从wordpress 3.0博客中提取atom提要时,如何防止出现奇怪的字符
我在wordpress博客上有一个atom提要: 当我下载文件文本并将其显示在我的网站上时,我会看到一些奇怪的字符,比如这里的重音字母“A”: 最近的研究表明,自2008年以来,与车祸相关的死亡人数下降了近10%。原因是什么 我在C#web应用程序中使用以下代码下载提要:.net 从wordpress 3.0博客中提取atom提要时,如何防止出现奇怪的字符,.net,wordpress,character-encoding,.net,Wordpress,Character Encoding,我在wordpress博客上有一个atom提要: 当我下载文件文本并将其显示在我的网站上时,我会看到一些奇怪的字符,比如这里的重音字母“A”: 最近的研究表明,自2008年以来,与车祸相关的死亡人数下降了近10%。原因是什么 我在C#web应用程序中使用以下代码下载提要: WebClient client = new WebClient(); client.Headers.Add(@"Accept-Language: en-US,en
WebClient client = new WebClient();
client.Headers.Add(@"Accept-Language: en-US,en
Accept-Charset: utf-8");
string xml_text = client.DownloadString(_atom_url);
而xml\u text.Contains(“Contains”)
返回true,但如果我在浏览器中下载提要,则不会返回该值
存在。我很确定这是一个角色集问题,但我不知道为什么。通过检查
客户端.ResponseHeaders
,我可以看到它实际上是在下载utf-8格式的文本,而我的.Net站点上的响应也是utf-8格式的,所以我无法理解为什么当我强制浏览器将提要解释为ISO-8859-1而不是utf-8时会出现这种奇怪的情况(这绝对是提要的正确字符集。)
我敢肯定,您的WebClient以某种方式默认为ISO-8859-1,或者您站点上的输出编码为ISO-8859-1,这显然会破坏UTF-8输入
可能首先开始检查站点的输出。如果确实是UTF-8,请查看网络客户端。这让我走上了正确的道路。
client.Encoding=Encoding.UTF8;
修复了它。client.Headers.Add(@“接受语言:en-US,en-Accept字符集:UTF-8”);
是不必要和不充分的