servlet中用url传中文值时,出现乱码,请问在传之前和接收的时候应该做什么操作

过滤器没得用呀,是不是不能用response.sendRedirect("index.jsp?user="+user);形式传值呢?

第1个回答  推荐于2016-10-11
URL中有中文用response.setContentType()有什么用!!
你要编码,解码URL的
方法
传之前:
java.net.URLEncoder.encode(user,"GB2312")//第二个参数与你页面相匹配
response.sendRedirect("index.jsp?user="+user);

接收:
String user= request.getParameter(“user”);

user = new String(user.getBytes(“iso-8859-1〃),"GB2312〃);本回答被提问者采纳
第2个回答  2010-11-06
建议你做一个拦截器的类,即filter,拦截所以的页面,不管jsp还是servlet,那样的话你可以在拦截器中设置编码格式,
第3个回答  2010-11-06
如果用doPost的话,
在doPost中加入下面代码:
response.setContentType("text/html;charset=gbk");
request.setCharacterEncoding("gbk");

如果用doGet 貌似得用filter过滤器了 这个你可以自己Google一下
相似回答