C# 是否在Windows Phone 7中使用特定编码进行URL编码?
在“regular.NET”中,有一个采用编码参数的方法。 在.NET中,WP7没有这样的方法吗 我位于瑞典,我正在尝试从一个REST服务中检索数据,该服务在请求中需要ISO-8859-1(但以UTF-8响应)。 当执行搜索(C# 是否在Windows Phone 7中使用特定编码进行URL编码?,c#,windows-phone-7,iso-8859-1,C#,Windows Phone 7,Iso 8859 1,在“regular.NET”中,有一个采用编码参数的方法。 在.NET中,WP7没有这样的方法吗 我位于瑞典,我正在尝试从一个REST服务中检索数据,该服务在请求中需要ISO-8859-1(但以UTF-8响应)。 当执行搜索(input=frölunda)并仅使用UrlEncode时,我得到了input=fr%C3%B6lunda,它返回非常奇怪的结果,因为“缺少”了。 使用带有iso-8859-1编码的.NET UrlDecode,我得到input=fr%F6lunda,它返回预期结果 我必须
input=frölunda
)并仅使用UrlEncode时,我得到了input=fr%C3%B6lunda
,它返回非常奇怪的结果,因为“缺少”了。
使用带有iso-8859-1编码的.NET UrlDecode,我得到input=fr%F6lunda
,它返回预期结果
我必须实现我自己的UrlEncode吗?有趣的是,微软在Silverlight上似乎遵循了标准。说: […]应根据UTF-8将所有其他字符转换为字节,以及 然后对这些值进行百分比编码。这项要求是在1995年提出的 2005年1月,RFC 3986出版。引入URI方案 在此日期之前不受影响 因此,似乎他们放弃了编码的选择,因为无论如何只允许一种
除此之外,你不是唯一的一个。这里的建议是:不要重新发明轮子,获取所需的HtmlEncode。(除了建议在客户端使用而不是
HttpUtility.UrlEncode
,但我无法判断这一点。)因此,问题实际上是REST服务提供商没有遵循当前的标准。我给他们写封信,看看他们能做些什么。(如果失败,我将借用GData实现。)感谢您提供的信息!看来是这样。祝你说服他们好运!