请求响应中文乱码问题解决

 1        //tomcat 配置文件中进行修改
 2 
 3         /*
 4          <Connector port="8080" protocol="HTTP/1.1"
 5            connectionTimeout="20000"
 6            redirectPort="8443" URIEncoding='UTF-8' />
 7         */
 8 
 9         //设置请求参数的编码格式--对GET请求无效
10         request.setCharacterEncoding("UTF-8");
11         /*
12         * 在Tomcat7及以下 客户端以UTF-8的编码传输数据到服务器端,
13         * 而服务器端的request对象使用的是IS08859-1这个字符编码来接收数据,
14         * 服务器和客户端沟通的编码不一致因此才会产生中文乱码的。
15         * */
16 
17         /*
18         * 解决办法:在接收到数据后,先获取request对象
19         * 以IS08859-1字符编码接收到的原始数据的字节数组,
20         * 然后通过字节数组以指定的编码构建字符串,解决乱码间题。
21         * Tomcat8的版本中GET基本就不会乱码了,
22         * 因为服务器对ur1的编码格式可以进行自动转换
23         * */
24         //例如
25         String name = request.getParameter("name");
26         name = new String(name.getBytes("ISO8859-1"), "UTF-8");
27 
28         //Servlet输出中文,页面出现乱码的解决办法
29         response.setContentType("text/html;charset=UTF-8");
30         response.setCharacterEncoding("UTF-8");
原文地址:https://www.cnblogs.com/Z-wen/p/12834332.html