请教webservice问题客户端服务端都是c#?

小弟是新手,最近学习webservice,对于乱码问题不是很了解,有几个问题想在这里请教各位大大。
我从网上找了post调用webservice的代码 传参是这样传的
param = HttpUtility.UrlEncode("param11") + "=" + HttpUtility.UrlEncode("参数

1") + "&" + HttpUtility.UrlEncode("param2") + "=" + HttpUtility.UrlEncode(num2);

bytes = Encoding.UTF8.GetBytes(param);

如果这样传参的话服务端接收到参数是乱码该怎么处理?

还有,以下代码读取到的是字符串,如果是乱码该如何处理?
Stream stream = response.GetResponseStream();

        XmlTextReader Reader = new XmlTextReader(stream);

        Reader.MoveToContent();
        result = Reader.ReadInnerXml();

4个回答

具体你要贴出一些乱码和对应的正确内容,才能帮你看。不同的编码,肯定要试了才知道。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复alaokang: 没有一种方式可以直接从字节数组中推断出它是什么编码,编码是人为约定的。
10 个月之前 回复
alaokang
码农11 恩,我想知道的是调用方和被调用方如何统一编码,代码应该怎么写,现在主要不知道怎么用代码统一编码
10 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复alaokang: 具体用什么编码要搞清楚,一把钥匙只能开一把锁,明白么。
10 个月之前 回复
alaokang
码农11 我现在就是想知道怎么处理乱码啊,只知道要统一编码,不知道代码怎么写。比如说客户端传递bytes = Encoding.UTF8.GetBytes(param);utf8编码的中文参数,如果到了服务端乱码该如何处理。客户端使用这段代码XmlTextReader Reader = new XmlTextReader(stream); Reader.MoveToContent(); result = Reader.ReadInnerXml();读取到的是服务端返回xml中的字符串,如果字符串存在乱码的话应该怎么处理。小弟初学,希望大神赐教。
10 个月之前 回复

没有人来吗都。…。…。…。…。…。…。…。…。…。…。……

webservice 服务端、客户端怎么实现与语言无关,各种语言与之对接都有最佳实践和标准的做法!按最佳实践去做,能避免很多的问题!

乱码是什么形式?你的处理形式应该没给全吧
想到了几种可能:
如果你获得的stream打印出来是s%e7%9a%84%这样的乱码,可能是没有做urldecode
如果乱码打印是一些怪异字符,应该就是服务端你的字符集不是utf8

alaokang
码农11 还有你说的s%e7%9a%84%这种乱码怎么避免呢?
10 个月之前 回复
alaokang
码农11 我目前是自己练习webservice虽然没有出现乱码,但是知道webservice接收中文参数的时候可能出现乱码,调用webservice返回结果有中文的话也可能出现乱码。我想知道的是出现乱码后该当如何解决呢?我知道要统一编码,问题是代码怎么实现呢
10 个月之前 回复
u013434984
潭溪Zerg 回复alaokang: 相关代码和测试结果截图看看,代码不带格式,看起来太难受了
10 个月之前 回复
alaokang
码农11 回复: 如果客户端使用如下代码XmlTextReader Reader = new XmlTextReader(stream); Reader.MoveToContent(); result = Reader.ReadInnerXml();这样接收到的是字符串,如果接收到的字符串是乱码应该如何处理呢?
10 个月之前 回复
alaokang
码农11 请问下,您说的这两种情况应该怎样处理呢?我知道是要统一编码,问题是怎么代码怎么写呢。请问比如我客户端这样传参bytes = Encoding.UTF8.GetBytes(param);服务端这样HttpUtility.UrlDecode(param11, Encoding.UTF8);可以解决你说的那两种乱码吗,如果不能该怎么解决?如果客户端这样接收XmlTextReader Reader = new XmlTextReader(stream); Reader.MoveToContent(); result = Reader.ReadInnerXml();
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!