今天弄了一天的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