首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从web服务返回UTF-8

从web服务返回UTF-8
EN

Stack Overflow用户
提问于 2010-12-24 09:38:35
回答 2查看 2.3K关注 0票数 0

上一篇:Returning info from a Web Service

我认为之前的答案是100%有意义的,我认为我已经走出了困境,但它仍然失败。

我正在使用的一个应用程序似乎仍然认为从web服务返回的内容是ASCII编码的。调试结果显示:

代码语言:javascript
复制
<Envelope><Body><ReturnOneResponse><ReturnOneResult>&lt;xml version="1.0" encoding="UTF-8"&gt;&lt;Entry&gt;&lt;Symbol&gt;PACR&lt;/Symbol&gt;&lt;Company&gt;Pacer International, Inc.&lt;/Company&gt;&lt;MarketCap&gt;$229.0M&lt;/MarketCap&gt;&lt;PE&gt;18.7&lt;/PE&gt;&lt;Price&gt;6.56&lt;/Price&gt;&lt;Change&gt;0.42&lt;/Change&gt;&lt;PctChange&gt;6.84%&lt;/PctChange&gt;&lt;YTDChange&gt;107.59%&lt;/YTDChange&gt;&lt;/Entry&gt;</ReturnOneResult></ReturnOneResponse></Body></Envelope>

因此,从web服务返回的所有内容似乎都被更改为ASCII,并且似乎拒绝读取为UTF-8。

由于上面链接中的前一段代码,我还更改了字符串调用:

代码语言:javascript
复制
string value = @"<?xml version=""1.0"" encoding=""utf-8""?>";

尽管如此,这还是没有帮助。

还有其他想法吗?

EN

回答 2

Stack Overflow用户

发布于 2010-12-24 09:51:32

我认为问题在于你的字符串在某个地方被转义了。也许如果你使用像Server.HTMLDecode这样的东西来对字符串进行反转义,它就会起作用

票数 0
EN

Stack Overflow用户

发布于 2010-12-24 10:06:40

您没有说明您在web服务中使用的是什么语言/系统。但是,仅将XML标头设置为包含编码并不会导致数据流以这种方式编码。您必须采取一些操作来指定写入输出流的点上的输出编码。

编辑:对于包含XML的SOAP回复,双重转义可能是正常的。否则,SOAP协议很容易被行为不端的SOAP服务破坏。SOAP信封/正文必须是有效的XML,因此必须对任何嵌入的XML数据进行编码,以防止错误导致SOAP信封/正文无效。

您必须在客户端中取消转义它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4523708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档