C# 的WebService 返回乱码,怎么办呀?(200分)

  • 主题发起人 主题发起人 DEN
  • 开始时间 开始时间
D

DEN

Unregistered / Unconfirmed
GUEST, unregistred user!
我用 c# 做了个 webservice ,再用delphi 调用,结果返回的中文是乱码。
如果不做成webservice ,直接在 c#里调用,又不是乱码,怎么回事?
是不是 xml 在网络上传送出现了什么问题?这些我不太懂呀?
 
C#不熟,不過,在WebService中傳遞含中文的字符串,最好用WideString類型.
 
我也想知道[:)][8D]
 
谢谢smokingroom,goodkiller二位大侠。花了一个多小时终于搞定。说说自己的心得吧。
1。应尽量用系统默认的字符集进行转码。ncoding.GetEncoding(0).即这里的参数要用0.
2。在取中文时还是有问题(本地没有问题,一通过WebService 传到客户端就会出现乱码。经调试发现中文字符后面多出了n个“/0”这个的字符。再用 Replace("/0","")将其去掉就行了。
但认为这是治标不治本的方法,不知哪位大侠还有没有更好的办法。
菜了在洗耳恭听了。
 
生成接口的时候加一句话
RIO.HTTPWebNode.UseUTF8InHeader := True;
 
后退
顶部