还是Java编码有关问题
还是Java编码问题最近在做一个Java接口程序,其中我们制定的协议中,有一个Encode字段,也就是代理商传参的编
还是Java编码问题
最近在做一个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是数组,要转换未免太麻烦,不知道有没有什么好一点的解决方法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就定下来了重设没用 6 楼 tjgamejx2 2009-12-16 quaff 写道
request.getParameter("Encode") 改成从queryString里面解析,一旦调用了getParameter方法,encoding就定下来了重设没用
是啊,请问queryString咋用,给个例子