【发布时间】:2013-05-10 22:40:41
【问题描述】:
我正在使用 WCF 开发一个 RESTfull Web 服务。在此服务中,我返回一个包含“£”的 Stream 格式的 XML。我在 XML 中得到了这个符号,但在客户端我得到了“?”而不是“£”。
public Stream HandleMessageStream()
{
StreamReader reader = new StreamReader(request);
string text = "<price>£ 10.00</price>";
UTF8Encoding encoding = new UTF8Encoding();
MemoryStream ms = new MemoryStream(encoding.GetBytes(text));
WebOperationContext.Current.OutgoingResponse.ContentType = "text/html";
return ms;
}
我尝试了不同的编码,但没有找到答案。 谁能帮帮我?
【问题讨论】:
-
您可以尝试将井号编码为 £或 £ .
-
尝试将
text/html; charset="utf-8"设置为ContentType -
客户端如何读取数据?如果它不知道它是 UTF-8,那么这就是你问题的根源。如果客户端正确解释内容类型,I4V 的建议可能会解决问题。
-
以上建议均无效
-
我正在使用“发送 HTTP 工具”来调用服务的方法。我正在检查返回的输出。
标签: c# wcf web-services c#-4.0 wcf-rest