- 安装MySQL的时候如果没有对数据库编码做修改默认数据库编码是latin1(拉丁),这个编码是不支持中文的,一般情况下我们将数据库的默认编码修改为utf8(俗称万国码)就可以解决不支持中文的问题
- 我们在插入的中文的数据出现报错是基本可以断定就是编码方式的问题导致的。先去确认一下数据库编码
使用命令:show variables like ‘%char%’;查看一下数据库基本编码
你可以看到有七条编码但是编码方式都不唯一有Latin有gbk或者utf8,我列出的上图是没问题的,你的如果和上图不一致就是有问题的。
你需要做的是将上列除了第四条character_set_filesystem 的编码方式二进制不做修改,将其余的全部改成utf8。 - 找到my.ini MySQL的配置文件,该配置文件在你的mysql安装路径下
基本顺着这条路径就能找到了,或者找到你开始菜单的mysql快捷方式右击选择打开文件所在路径
在路径下你需要找到这个文件my.ini - 以文本方式打开
去找到[client]在下面加上一句代码default-character-set=utf8
再去找到[mysqld]在下面加上一句代码character-set-server = utf8
//需要注意的是mysql的版本对这两条代码的支持是不一样的,一般5.几以上的版本使用这两条都没问题,低版本的可能不可以。如果保存配置后mysql重启不了,无法打开就说明这两条代码有问题了,你要根据你安装的版本去百度mysql默认编码ini配置代码。
- 将以上两条代码添加好保存后重启mysql服务。
右击计算机(此电脑) ——管理——服务
找到mysqld右击重启服务,版本不同名称不一定相同,仔细找一下,如果真的不好找也不要紧把电脑重启一下,这样mysql服务自然就重启了。 - 再去打开cmd的mysql控台(修改ini后mysql控台打不开了请看下面第7条)
输入show variables like ‘%char%’;检查一下是否都更改过来了。要求123567除了第4条编码都要一致。如果一致现在在去插入一下数据,中文就可以了。
如果还有不一致的使用set [这里替换为Variable_name 不加方括号]=utf8;命令就可以将其改成utf8了
例如要改第一条命令是set character_set_client=utf8; - 修改ini文件后mysql启动不了怎么办
如果修改完my.ini mysql服务启动不了了,mysql控台打不开了说明在my.ini文件中的配置命令不对,去检查一下,命令无误也可能说明你的版本不支持上述的两条命令,你需要去百度找到相应的命令再修改。
在mysql的安装目录下你仔细找一下会有一个mysql.log文件,版本不同也可能名字不同可以看看其他名字.log结尾的,这是mysql的日志,打开里面会有mysql不能启动的报错具体原因可根据mysql日志来调整ini配置。