关于MySQL数据库中文乱码问题的简单查看与解决


MySQL数据库的中文乱码问题一直以来很是困扰人,不管是做java开发还是php开发。

一直以来,为了简化这个问题,我都是在我所有的JSP页面中设置编码都是utf-8,同时在创建MySQL数据库是,也设为utf-8编码,以防止出现莫名其妙的中文乱码问题。但是今天发现了一个更简便的方法,没有深究原因,但能快速的诊断及解决乱码。(没有测试所有的可能,概而化之)

1、如果在MySQL控制台下,查询数据库发现原来插入的中文显示为乱码,那么可以使用"status"命令查看当前MySQL数据库的状态。查询出来的结果中,有这么几项与字符编码有关的项:

Server characterset:    utf8                  --安装MySQL服务器是设定的服务器编码
Db     characterset:    utf8                     --数据库默认编码
Client characterset:    utf8                   --客户端字符编码
Conn.  characterset:    utf8                  --连接时采用的编码

2、在MySQL控制台下,使用如下的命令,改变后两项的字符编码:

set names gb2312

这时再用“status”命令查看,后两项的编码已经变为“gb2312”了。

3、此时再查询数据库,发现乱码没有了,中文明明白白地在数据库里呢。

4、反之亦然,如果中文乱码情况下后两项编码是gb2312,那么就用“set names utf8”,将其改为“utf8”编码即可。

特此谨记!

相关内容