Web 应用的中文乱码由来
- Tomcat 默认使用字符集 ISO-8859-1,属于西欧字符集
- 解决乱码的核心思路是将 ISO-8859-1 转换为 UTF-8
- Controller 中请求与响应都需要设置 UTF-8 字符集
中文乱码的配置
1. Get 请求乱码 - server.xml 增加 URIEncoding 属性
在自己电脑中找到 tomcat 的安装路径,进入 conf 文件夹
打开 server.xml 进行修改,找到下面这串代码
在末尾添加 URIEncoding="UTF-8"
注意:在 tomcat 8.0 以后版本默认就是 UTF-8,所以在 8.0 以后写这句话和不写这句话效果是一样的,但是在 8.0 以前默认字符集仍是 ISO-8859-1
2. Post 请求乱码 - web.xml 配置CharacterEncodingFilter
在 post 请求中输入中文,控制台会出现问号代替中文字符
3. Response响应乱码 - Spring 配置 StringHttpMessageConverter
出现上面这种情况,在 applicationContext.xml 配置文件中添加如下代码块,即可解决