GBK页面的表单post提交到UTF-8编码的servlet怎么解决中文乱码有关问题?

GBK页面的表单post提交到UTF-8编码的servlet如何解决中文乱码问题??
如题,在对接接口,调用别人的接口后,他们会回调我这边的一个servlet,但是他们的页面是GBK的,我这边的项目编码是UTF-8的,而且他们不可能更改编码,我们也不改变编码的情况下,如何解决??



谢谢.
------解决方案--------------------
servlet中  request获取参数时设置编码为GBK
------解决方案--------------------
引用:
Quote: 引用:

servlet中  request获取参数时设置编码为GBK


request.setCharacterEncoding("gbk");    这样??不行的.....



 string =request.getParameter() 
 bytes = string.getBytes("iso-8859-1")
 string = new String(bytes, "GB2312") 

这样呢
------解决方案--------------------
估计得来回转。。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

servlet中  request获取参数时设置编码为GBK


request.setCharacterEncoding("gbk");    这样??不行的.....



 string =request.getParameter() 
 bytes = string.getBytes("iso-8859-1")
 string = new String(bytes, "GB2312") 

这样呢


这种也试过  不行的  

页面提交是form表单直接提交的,还是拼的参数
------解决方案--------------------
估计是不行了。
tomcat设置编码,是对get方法或者是URI进行urldecode,到达你的程序里面已经是一个乱码了。
本质问题是这样。


String s = "我";
//这个是对方的编码
s = java.net.URLEncode(s,"gbk");

//下面这个是tomcat中自动转码
s = java.net.URLDecode.decode(s,"utf-8");

问题就在于,现在这个s怎么能回去。我感觉是回不去了,因为gbk和utf8的长度都不一样了。

所以以后还是不要轻易的设置编码,用iso_8859_1比较好,需要设置get或URI编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
------解决方案--------------------
做个URLEncode试试
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

servlet中  request获取参数时设置编码为GBK


request.setCharacterEncoding("gbk");    这样??不行的.....



 string =request.getParameter() 
 bytes = string.getBytes("iso-8859-1")
 string = new String(bytes, "GB2312") 

这样呢


这种也试过  不行的  

页面提交是form表单直接提交的,还是拼的参数


post  表单 ,这个问题我大概知道原因了,对反的平台是GBK,我这边web.xml里已经转成了utf-8,所以会乱码的


乱码问题很头疼,根本无法完全避免,尽量了解整个提交的流程,这样解决的快些
------解决方案--------------------
引用:
估计得来回转。。

------解决方案--------------------
你解码你的,把他传过来的数据转化成你的编码,他解码他的,他把你传过去的数据转化成他的编码,其它按照正常的来
------解决方案--------------------
如果对方强势,那就只能你负责传的数据编码符合他的要求了
------解决方案--------------------
只有来回转了