文章目录
- 本编文章列举了Java Web编程中所有可能导致中文乱码的问题以及解决方法
-
- 1、html页面乱码
- 2、request乱码
- 3、Java文件乱码
- 4、jdbc乱码
- 5、tomcat日志乱码
- 6、response乱码
本编文章列举了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软件,希望大家能在本篇文章中寻找到自己遇到的困难的最优解!