在JSP和Servlet传参,中文参数一直出现各种乱码,经过控制变量后发现,只要在传过来的参数设置成“ISO-8859-1”编码格式即可,其他什么response.setCharacterEncoding(“gb2312”);
request.setCharacterEncoding(“gb2312”);
都不用写!!!!
即写上这句接受参数即可:
String a=request.getParameter(“id”);
a=new String(a.getBytes(“ISO-8859-1”));
这样就可以在Servlet上显示出正常的中文参数。
但是,注意但是!!!经过检测,这种方法仅用在doGet()里的接受参数,若用Post方法获取参数,这种方法是行不通的!!!
在doPost()下,要这样:
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
String name1=request.getParameter("user");
name1=new String(name1.getBytes(),"ISO-8859-1");
才能正确显示中文。(ps.dopost()方法下不用继承它父类的方法,否则会报URL错误)