日期:2014-05-17  浏览次数:20650 次

使用webService获取的参数,解码后部分乱码
情况是这样的,.net与java用websevice做的接口,.net客户端访问java服务器端的方法,传过来的参数编码格式的utf8的,因为我们java这边整个系统平台编码是GBK的,所以java这边处理方式是:String a = new String(taskName.getBytes("GBK"), "UTF-8");,这样处理可以解析出中文,但是某些情况下会是乱码。哪位大神知道是为什么,怎么解决这个问题?
下面是一条测试数据:
.net端发送的数据:【201312270114】【20131227】测试20131227【测试】[]工作票任务单
java端处理之后的数据:??201312270114】???20131227】测??20131227【测试???[]工作票任务单
有些字符,有时是乱码,有时是正确的。

------解决方案--------------------
没遇到过 一般要么全乱码 要么全不乱码
------解决方案--------------------
String a = new String(taskName.getBytes("GBK"), "UTF-8");
把GBK改成ISO-8859-1试试!
------解决方案--------------------
String a = new String(taskName.getBytes("ISO-8859-1"), "GBK"); 也试过?
如果不强转会出现什么情况?
------解决方案--------------------
new String(taskName.getBytes("GBK"), "GBK")  试下这个!
或者后面GBK改成gb2312,gb18030试试!

------解决方案--------------------
你新建一java项目,调用web service中方法,java项目编码改成utf-8试试!
测试能不能成功!