使用java连接MySql,中文乱码解决的方法

时间:2023-03-09 23:11:26
使用java连接MySql,中文乱码解决的方法

排查MySql中文乱码的问题

1.在cmd中启动MySql。

打开命令提示符cmd,输入"mysql -uusername -ppassword",回车,就可以连接到数据库。

如输入"mysql -uscott -ptiger"然后回车

2.查看字符集

输入"show variables like 'character_set_%';",回车

可以看到如下字样:

使用java连接MySql,中文乱码解决的方法

则表明,字符集全部设置为utf8了,正常。(注意,mysql中"utf-8"一律写作"utf8",其他的软件和数据库不遵此例)

如果不是 则用

set 字段名=utf8;的方式设置;

tomcat中的问题:

如果你做查询后,结果全是????。。看后面的。如果是完全查不到数据,则很有可能Tomcat的字符集配置错误。

(Tomcat的问题你可以这样解决:

1.在Tomcat安装目录下的conf目录中找到server.xml文件,打开,在其中找到这一段

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />

红色部分是你要添加的部分。

2.在servlet的doPost方法的最开始加上两句

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

这样子Tomcat的中文乱码的问题就可以解决了。