本编文章列举了Java Web编程中所有可能导致中文乱码的问题以及解决方法

1、html页面乱码

首先第一点便是html页面乱码问题
例如:
在这里插入图片描述

此时我们需要在项目中找到该网页的html文件,在html文件头部中找到
meta charset=“”;

在这里插入图片描述

然后将meta中的charset改为charset=“UTF-8”

如下图示:
在这里插入图片描述

2、request乱码

在debug中我们可以看到,在html界面的输入框中输入中文,在Servlet中进行处理时会出现乱码问题。
请添加图片描述请添加图片描述

此种情况,我们需要在Servlet的数据处理方法中设置request编码字符集,既可以解决问题。

在这里插入图片描述

3、Java文件乱码

在Java代码中,所有中文出现了乱码问题。
在这里插入图片描述

Idea中可以在右下角,点击图中的字段,切换成UTF-8字符集
如图所示:
在这里插入图片描述

友情提示,某些编码字符集是不支持中文的,所有在选中该编码字符集以后,中文乱码是不可逆的(如:ISO-8859-1),建议勿试。

4、jdbc乱码

JDBC连接数据库插入中文数据乱码。解决方法如下:
1、IDEA自身编码格式不是utf8
解决方式:
在IDEA中根据这个目录 File | Settings | Editor | File Encodings中,不是则修改过来
在这里插入图片描述
2、数据库编码不是utf8
解决方式:
在数据库中用下面这个命令查看当前数据库的字符集编码,如果不是utf8就改过来。

show variables like '%character%';

3、JDBC连接时规定的字符集编码不是utf8
解决方式:
修改前

jdbcUrl=jdbc:mysql:///db5?serverTimezone=UTC

修改后

jdbcUrl=jdbc:mysql:///db5?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8

问题便解决了

5、tomcat日志乱码

tomcat启动时,控制台中所有的中文都是乱码。
如下图:

在这里插入图片描述

解决方法:找到apache-tomcat文件在conf中找到logging.properties文件打开。
在这里插入图片描述

找到图中红框中的内容,通过红框中的内容确认目前logging.properties文件使用的是什么字符集,则将logging.properties文件中所有该字符集全部替换为GKB,即可解决问题。

6、response乱码

在Servlet的service方法中,我们通过中文返回响应提示。请添加图片描述
到html界面后中文转变为了如图所示乱码。
请添加图片描述
解决方法:

//设置response编码
resp.setCharacterEncoding("UTF8");
//设置响应数据类型
resp.setContentType("text/html;charset=UTF8");

本篇文章以UTF-8为默认字符集,使用的Idea软件,希望大家能在本篇文章中寻找到自己遇到的困难的最优解!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐