get请求中的中文乱码问题的解决方法

所有的过滤器都只对post请求起作用,在jsp页面中设置字符编码方式,都只是对表单提交请求时的post请求起作用,对get请求不能起到设置其字符编码的作用,在get请求中使用的是默认的编码方法,所以对get请求,应该在server.xml文件中设置URIEncoding="GBK"然后重启tomcat便可以实现解决中文乱码问题,但是不建议在href超链接请求中传达中文参数,也不建议在get请求中传递中文参数。另外对传递的部分中文实现传递和接收时的统一的编码方法在传达参数时使用"reply.jsp?title="+java.net.URLEncoder.encode(keywords)然后在接收参数页面使用keywords=new String(request.getParameter("keywords").getBytes("8859_1"));这种方式虽然暂时解决了中文乱码问题,但是在后期的维护和部署到其他的服务器时可以仍会会出现中文乱码了问题,所以不建议使用。

原文地址:https://www.cnblogs.com/moonfans/p/2699752.html