乱码问题
目录
如果html乱码,可能是html的编码错误,或者是response传输过程中乱码;
如果是Servlet乱码,可能是Servlet编码问题,或者是request传输过程中乱码;
如果是数据库中乱码,你就要怀疑是JDBC传输过程中乱码,还是数据库或者数据库表的字符集不对。
html乱码
解决办法:编写html时设置utf-8
request乱码
发生在网页向代码传输时出现
解决办法:
req.setCharacterEncoding("UTF8");
文件乱码
是文件编码造成的问题
解决办法:将java文件改成UTF8。
文件编码在idea的右下角。
jdbc乱码
出现在获取数据库字段时
解决办法:修改jdbc.properties
driverClassName=com.mysql.cj.jdbc.Driver
jdbcUrl=jdbc:mysql:///javaweb?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
username=root
password=****
数据库乱码
解决办法:修改数据库字符集
数据库表乱码
解决办法:
进入设计表,将表的字符集改成UTF8
tomcat乱码
解决办法:
-
找到tomcat文件所在目录
-
找到配置文件conf
-
配置文件(conf)中的logging.properties文件
-
将logging.properties中的UTF-8字符集改成GBK
response乱码
发生在Servlet向html传输过程中
解决办法:在Servlet中编写代码
//设置response编码
resp.setCharacterEncoding("UTF8");
设置这串代码后,html还是有可能乱码,这是因为,html自身的编码问题,还需要加上:
//设置相应内容(告诉浏览器这是一个什么东西,以什么编码加载啊它)
resp.setContentType("text/html;charset=UTF8");