解决中文乱码问题

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 配置文件中添加如下代码块,即可解决
在这里插入图片描述
在这里插入图片描述


版权声明:本文为Meow5原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。