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

 

排查MySql中文乱码的问题

1.在cmd中启动MySql。

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

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

 

2.查看字符集

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

可以看到如下字样:

则表明,字符集全部设置为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的中文乱码的问题就可以解决了。

 

posted @ 2016-12-21 11:00  sujianbo  阅读(430)  评论(0编辑  收藏  举报