.NET调用Java的WebService出现中文乱码问题

情况是这样的:
我使用.NET的C#语言开发做客户端,服务端是由Java的同学编写的WebService,现在的情况是他从数据库中取到得信息可以传给我,我要调用方法或传值给他的话只能使用英文或数字,中文传递的话他那边获取的参数是乱码,于是不能获取正确的数据。希望高手能解释一下这个原因,并解决这个问题。
关于这点,我们一直是怀疑.NET和Java的数据类型及编码格式不一致的问题,但是目前还没找到切实有效的解决方案,另外,有一篇文章写的好像比较深,无法理解,希望有高手能帮梦解释一下,地址:
http://www.programfan.com/club/showtxt.asp?id=290603

谢谢~!
不用考虑他传递给我的数据,他传递给我的是JSON数据,其实还是一个字符串,但是里面不管是中文、英文还是字符等我这边都可以正常获取;
至于他那边是怎么处理之后给我的也不用考虑了,我自己不是很了解Java所以没有去弄明白;
关键的问题就是他写的方法中,我传递中文字符串做参数BS那边就获取的乱码,于是无法操作数据库,如果我传递的是英文字符串或数字字符串,他那边可以操作数据库并返回状态给我;
最后,关于编码格式:我们也是一直考虑使用UTF-8的,但是我改了字符串的编码格式,中文字符串还是不行,传递给他那边之后他获取的还是乱码,这个才是真正困惑我们的。希望高手能帮忙解释,并解决该问题,谢谢~!
最新回答
一花一树开

2024-09-18 00:42:00

它传递给你的数据是否有编码过?

使用 Server.UrlDecode(str); 解码过么?

它那边也要用url编码
==

两边的编码肯定要用utf-8
发送数据方要用 UrlEncode编码,如果是客户端,使用 escape函数
接受数据方使用 HttpUtility.UrlDecode解码
╰未成年的花朵

2024-09-18 00:04:20

楼主,我最近也在搞.net调用Java的WebService,不过我的WebService是rest风格的,我想知道,你的客户端调用服务端的方法时,传递的参数是什么类型的?json字符串吗?,服务端接收客户端传递的参数又用什么类型呢?
考考死

2024-09-18 00:30:29

在java 里写过滤器 在把所有页面的编码格式设为utf-8 就可以了
半坏街灯

2024-09-18 00:32:40

设置java里的编译码为UTF-8
追问
他那边一直是UTF-8编码格式,但是我这边(C#)转成UTF-8之后传递过去还是不行。
当恨能成忧

2024-09-18 00:02:29

我也想知道这个问题。。。
当时刚接触Socket时遇到一样的情况
我的服务器端也是C#写的,也不能中文