谢谢.
17 个解决方案
#1
servlet中 request获取参数时设置编码为GBK
#2
request.setCharacterEncoding("gbk"); 这样??不行的.....
#3
string =request.getParameter()
bytes = string.getBytes("iso-8859-1")
string = new String(bytes, "GB2312")
这样呢
#4
估计得来回转。。
#5
servlet中 request获取参数时设置编码为GBK
request.setCharacterEncoding("gbk"); 这样??不行的.....
string =request.getParameter()
bytes = string.getBytes("iso-8859-1")
string = new String(bytes, "GB2312")
这样呢
这种也试过 不行的
#6
servlet中 request获取参数时设置编码为GBK
request.setCharacterEncoding("gbk"); 这样??不行的.....
string =request.getParameter()
bytes = string.getBytes("iso-8859-1")
string = new String(bytes, "GB2312")
这样呢
这种也试过 不行的
页面提交是form表单直接提交的,还是拼的参数
#7
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,所以会乱码的
#8
估计是不行了。
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编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
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编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
#9
做个URLEncode试试
#10
估计是不行了。
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编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
目前看来只能自己定义编码的过滤器,然后在过滤器里面做处理,其他还真想不出什么方法了....
#11
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,所以会乱码的
乱码问题很头疼,根本无法完全避免,尽量了解整个提交的流程,这样解决的快些
#12
这个问题,我现在是这样解决的,原来是在web.xml里面配置编码
现在是自己定义了一个Fiter去做,判断如果请求的路径为 对方回调的路径,就给它gbk的编码 ,else的就是utf-8,
这样也不影响原来的编码格式
现在是自己定义了一个Fiter去做,判断如果请求的路径为 对方回调的路径,就给它gbk的编码 ,else的就是utf-8,
这样也不影响原来的编码格式
#13
估计得来回转。。
#14
你解码你的,把他传过来的数据转化成你的编码,他解码他的,他把你传过去的数据转化成他的编码,其它按照正常的来
#15
如果对方强势,那就只能你负责传的数据编码符合他的要求了
#16
如果对方强势,那就只能你负责传的数据编码符合他的要求了
对方的接口给N家公司使用,不可能为我一家修改的,所以只能我这边想办法,目前这种解决方法应该是比较好的,个人感觉转码是不好转的
#17
只有来回转了
#1
servlet中 request获取参数时设置编码为GBK
#2
servlet中 request获取参数时设置编码为GBK
request.setCharacterEncoding("gbk"); 这样??不行的.....
#3
servlet中 request获取参数时设置编码为GBK
request.setCharacterEncoding("gbk"); 这样??不行的.....
string =request.getParameter()
bytes = string.getBytes("iso-8859-1")
string = new String(bytes, "GB2312")
这样呢
#4
估计得来回转。。
#5
servlet中 request获取参数时设置编码为GBK
request.setCharacterEncoding("gbk"); 这样??不行的.....
string =request.getParameter()
bytes = string.getBytes("iso-8859-1")
string = new String(bytes, "GB2312")
这样呢
这种也试过 不行的
#6
servlet中 request获取参数时设置编码为GBK
request.setCharacterEncoding("gbk"); 这样??不行的.....
string =request.getParameter()
bytes = string.getBytes("iso-8859-1")
string = new String(bytes, "GB2312")
这样呢
这种也试过 不行的
页面提交是form表单直接提交的,还是拼的参数
#7
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,所以会乱码的
#8
估计是不行了。
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编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
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编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
#9
做个URLEncode试试
#10
估计是不行了。
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编码时可以在过滤器里面。出现现在的状况几乎无法解决了吧。
目前看来只能自己定义编码的过滤器,然后在过滤器里面做处理,其他还真想不出什么方法了....
#11
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,所以会乱码的
乱码问题很头疼,根本无法完全避免,尽量了解整个提交的流程,这样解决的快些
#12
这个问题,我现在是这样解决的,原来是在web.xml里面配置编码
现在是自己定义了一个Fiter去做,判断如果请求的路径为 对方回调的路径,就给它gbk的编码 ,else的就是utf-8,
这样也不影响原来的编码格式
现在是自己定义了一个Fiter去做,判断如果请求的路径为 对方回调的路径,就给它gbk的编码 ,else的就是utf-8,
这样也不影响原来的编码格式
#13
估计得来回转。。
#14
你解码你的,把他传过来的数据转化成你的编码,他解码他的,他把你传过去的数据转化成他的编码,其它按照正常的来
#15
如果对方强势,那就只能你负责传的数据编码符合他的要求了
#16
如果对方强势,那就只能你负责传的数据编码符合他的要求了
对方的接口给N家公司使用,不可能为我一家修改的,所以只能我这边想办法,目前这种解决方法应该是比较好的,个人感觉转码是不好转的
#17
只有来回转了