如何找到Web服务响应的正确编码?

时间:2013-05-31 17:07:55

标签: c# .net web-services encoding webclient

我正在开发一个调用第三方Web服务的Windows pone 8应用程序。该服务返回一些文本,并带有以下响应:

HTTP/1.1 200 OK
Date: xxxxxxxxxx
Server: Apache/xxxxxxxxx
X-Powered-By: PHP/5xxxxxxxxxx
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html

我使用WebClientUploadStringAsync方法从网络服务获取信息。在回应我得到像á和其他人的角色......我该如何解决这个问题?我已经尝试过改变WebClient编码(不太了解我真正在做什么)而没有成功。

修改

我正在接受一个JSON响应,其中包含类似这样的文本(除了英语以外的几种语言):

  

“description”:“Podcast del programa de Radio El D& iacute; a.Aqu& iacute; encontrar& aacute; s d& iacute; a a d& iacute; a”

[我在& amp;和其他字符,因为否则SO显示正确的文字]

1 个答案:

答案 0 :(得分:1)

从Web服务返回重音特殊字符,因为ISO-8859-1是大多数浏览器中的默认字符集,您只需将生成的字符串发送到浏览器即可正确解码。

但是,由于您没有将其发送到浏览器,您也可以使用以下方法自行解码:

string json = "Podcast del programa de Radio El Día. Aquí encontrarás día a día";
string decoded = HttpUtility.HtmlDecode(json);

this SO link开始,您将被指示here获取可在Windows Phone上运行的HttpUtility版本。