解决请求与响应中文乱码

1. web应用的中文乱码由来

① Tomcat早期版本中默认使用字符集ISO-8859-1,属于西欧字符集

ISO-8859-1对中文是不支持的

② 解决乱码的核心思路是将ISO-8859-1转化为UTF-8

UTF-8是支持中文的

③ Controller中请求与响应都需要设置UTF-8字符集

2. 中文乱码的配置

① 解决get请求乱码问题

server.xml增加URIEncoding属性 Tomcat8.0版本以后,不需要修改,默认为UTF-8

image.png

在tomcat8.0版本以前是需要如上配置的(server.xml路径:tomcat安装路径下的conf文件夹中); Tomcat8.0版本以后,默认为UTF-8

② 解决post请求乱码问题

web.xml配置CharacterEncodingFilter

image.png
③ Response响应乱码 (响应对客户端输出时)

Spring配置StringHttpMessageConverter

image.png