下面的方法是针对window系统的
注意:
1 下面的my.ini文件在有些版本的Mysql中的安装目录找不到,比如我用的版本5.5.60-log就找不到,想要找到这个文件,需要设置显示window系统隐藏文件(不懂的自行百度,因系统的版本不同而略有不同),然后回到c盘的根目录,这时,你会看到ProgramData的文件夹
如图:
点进去,找到MySQl,再找到名为MySQL Server 5.5的文件夹,my.ini文件就在这个文件夹下。
2 就是所有的编码格式都设置为utf8了,包括配置文件、数据库、表、字段等都设置好了,就是插入不了中文,查阅了很多的资料,终于在下面这篇文章找到答案,原来是window的cmd窗口的编码格式为gbk,解决方法在文章的最后。
今天弄了一天的mysql数据库,就是被一个mysql数据库乱码的问题给缠住了。现在记录一下这个问题,虽然这个问题不是什么太大的事情,但还是记录一下。
问题是这样的:
1、先在mysql的安装文件当中,找到配置mysql数据库编码的文件。
2、修改这两处为utf8。
3、创建一个名为test的数据库并且设置默认编码格式为utf8
4、创建一个名为charTest1的表,并指定编码为utf8
5、查看数据库的编码,已经全部改成了utf8
6、再看一下当前数据库的表的编码
7、到这里的时候,我以为大功告成了,所有能设置的地方我都设置了,都设置的是ut8。然后,我执行了一下insert语句,报错了!!!!!!!!
这个错误纠结了一天,最后,看到了一篇博客,博客上面这么写:
问题出在了CMD窗口,CMD窗口使用的编码格式是gbk,这根本解决不了啊,唯一的办法就是,不要用cmd窗口了,用图形界面工具吧!!!如果非要用cmd窗口的话,那么可以加这句话,set names gbk;加了这句话,我们再看数据库的编码格式,发生了明显变化。
这次再执行插入语句,
成功了!!!
原来这一切都是CMD在捣鬼!!!
从上图中可以看到 MySQL 有六处使用了字符集,分别为:client 、connection、database、results、server 、system。其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);与客户端相关:connection、client、results
快速方法
修改这两处为utf8 为gbk。直接重启MySQL下就好了