mysql中的中文乱码问题的解决

2018/05/02 18:36

今天下午,在向MySQL的数据表中插入数据的时候,发现MySQL的表记录中数字和英文能正常显示,但是汉字显示为‘?’,经搜索,其主要原因是MySQL的默认编码是Latin1。以下是解决方法,留作记录为以后的复习巩固做参考。

环境:操作环境Windows、编译器eclipse、数据库MySQL、集成软件wampserver

step one

修改MySQL的配置文件:

mysql中的中文乱码问题的解决单击wamp图标,选择MySQL/my.ini  打开my.ini文件,修改三处,分别是:

第一处:mysql中的中文乱码问题的解决

加入default-character-set=utf8这句话

第二处、第三处:mysql中的中文乱码问题的解决

修改完毕之后保存修改,点击wamp中的restart all services选项,重启MySQL服务,如果my.ini文件的修改是正确的,那么wamp可以正常重启,如果不能正常重启,则是因为my.ini的修改是错的,要注意与上面的三处仔细对应。

step two

最后检查MySQL的字符编码状况

首先需要从cmd命令进入MySQL,比如我的wamp文件夹在C盘,因此第一个命令是cd C:\wamp\bin\mysql\mysql5.6.17\bin

第二个命令是mysql -u root(用户名) -p(密码),回车以后出现

mysql中的中文乱码问题的解决,

此时若是没有密码则直接按回车键,然后再输入status命令查询MySQL的状态mysql中的中文乱码问题的解决

此时,再看表记录已经是汉字了

mysql中的中文乱码问题的解决

注意,默认编码的修改只对my.ini文件修改以后建立的数据库有效,对之前的数据库无效

有其他的关于MySQL的乱码知识,以后遇到再做补充。


附:MySQL中默认编码的查看和修改

1、MySQL中默认编码的查看,主要是两个方法:status方法和show variables like 'char%'

mysql中的中文乱码问题的解决

mysql中的中文乱码问题的解决

有时需要查看单个数据库的默认编码,则只需要先用USE db_name命令,进入该数据库即可

2、有时根据需要,需要将数据库的默认编码修改,如数据库的默认编码是Latin1,需要将其修改为utf8,则只需要修改my.ini文件即可,具体操作步骤见上文。