问题 开始于 使用mysql命令插入中文数据插不进去
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column。
开始查看有关字符集的问题。
如果使用 set names 'gbk';
或者 set character_set_database 'utf8'; 这样的命令来设置字符集的话,只是当前设置生效,下次重启mysql的时候就失效了还要重新设置,麻烦,或者根本不好使
这时想到了修改默认的配置文件。于是乎开始了修改配置文件 my.ini到的道路。
查看我的电脑服务里是否有两个服务一个是mysql 另一个mysql57(我这里安装的版本是mysql5.7.17)网络服务
如果使用 net start mysql 来启动数据库 那么开启的服务就应该是 mysql
如果使用 net start mysql57 来启动数据库 那么开启的服务就应该是mysql57
----------------------------------------------------------------------------------------------------------------------------------------------------------------
至于两个什么关系我还在研究中,弄明白了再更新。。。。。。。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
查看发现在服务里,默认加载的是这个路径下的my.ini:
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7\my.ini" MySQL57
而原安装路径下是my-default.ini 以至于我把两个弄混了,刚开始一顿在my-default.ini中改。。。。所以都无效。
所以把C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7\my.ini" MySQL57 这个路径下的my.ini 复制到C:\Program Files\MySQL\MySQL Server 5.7
这个路径即可。
同时在my.ini 中添加如下内容
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
character-set-server=utf8
这里注意不要打错了。直接复制过去即可。
返回到命令行
>net start mysql
>mysql -uroot -p
Enter password: ******
> show variables like 'character_set%';
到此会发现除了filesystem 其他 已成功改为utf8
这是创建数据库创建表插入中文 完全没问题。还有很多疑问,等深入了解后再来更新。