浏览 1708 次
锁定老帖子 主题:还是Java编码问题
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-16
于是问题就来了: String encode = request.getParameter("Encode"); request.setCharacterEncoding((encode==null||encode.equals(""))?"gb2312":encode); 这样解决不了乱码问题,因为在request.setCharacterEncoding之前已经用过request获取参数了。也就是说,必如果getParameter之前使用过setCharacterEncoding这个方法,就解决不了乱码问题。 我也想进行逐个字段进行编码,但是,协议字段非常多,代理商传的字段个数是不确定的,我用的getParameterMap方法,k->v,中的V是数组,要转换未免太麻烦,不知道有没有什么好一点的解决方法 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-16
不知道你啥特殊场景
这年头不会filter也没听说过吧 |
|
返回顶楼 | |
发表时间:2009-12-16
GRDJE 写道 不知道你啥特殊场景
这年头不会filter也没听说过吧 encoding是需要对方给我传过来的,这个filter我怎么去写 |
|
返回顶楼 | |
发表时间:2009-12-16
所以把你的宝贝场景讲讲清楚, 你是怎么 和你的宝贝代理商接口的
你就是把一个url给你的代理商, 让他提交? |
|
返回顶楼 | |
发表时间:2009-12-16
代理商------post---->支付接口------socket------->后台
最初约定gb2312,上头硬要支持别的格式,改为默认为gb2312,若用别的编码,则带一个ecode。然后我request.getParameter("ecode"). 我的办法:使用ecode对字段逐个解码,很麻烦。 filter,不是一样要request.getParameter?,既然用了这个方法,request.setParameter就无效。 |
|
返回顶楼 | |
发表时间:2009-12-16
tjgamejx2 写道 最近在做一个Java接口程序,其中我们制定的协议中,有一个Encode字段,也就是代理商传参的编码格式,如果缺省或者不指定,则用gb2312格式,但是也允许他指定别的格式。
于是问题就来了: String encode = request.getParameter("Encode"); request.setCharacterEncoding((encode==null||encode.equals(""))?"gb2312":encode); 这样解决不了乱码问题,因为在request.setCharacterEncoding之前已经用过request获取参数了。也就是说,必如果getParameter之前使用过setCharacterEncoding这个方法,就解决不了乱码问题。 我也想进行逐个字段进行编码,但是,协议字段非常多,代理商传的字段个数是不确定的,我用的getParameterMap方法,k->v,中的V是数组,要转换未免太麻烦,不知道有没有什么好一点的解决方法 request.getParameter("Encode") 改成从queryString里面解析,一旦调用了getParameter方法,encoding就定下来了重设没用 |
|
返回顶楼 | |
发表时间:2009-12-16
quaff 写道 request.getParameter("Encode") 改成从queryString里面解析,一旦调用了getParameter方法,encoding就定下来了重设没用 是啊,请问queryString咋用,给个例子 |
|
返回顶楼 | |