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");