我们已经在.Net 3.5中使用WCF实现了REST样式的获取服务。该服务检索研究文档。代码bolow中指示的字符串'synopsis'包含非英语字符,浏览器将其作为“????????”提供。
private void ReturnSynopsisInfo(IApiWebOperationContext context,OutgoingWebResponseContext outgoingResp,string synopsis) { SetResponseHeaders(outgoingResp,HttpStatusCode.OK); outgoingResp.ContentType =“text / html; charset = UTF-8”; context.Result = new MemoryStream(Encoding.ASCII.GetBytes(synopsis)); }
非常感谢任何建议。
谢谢。
答案 0 :(得分:1)
您似乎在内容类型标头中声明编码为utf-8,但实际上在流中使用ASCII编码。 ASCII编码器将静默地将任何非ascii字符更改为问号。
您可能希望使用UTF8Encoding
rater而不是ASCIIEncoding
。