目前,MySQL有关字符集编码的变量设置情况如下:
其中character_set_client、character_set_connection、character_set_results这三项均为gbk,通过执行set names utf8后,可临时将这三项改为utf8,但重启后,又恢复为gbk。怎样才能永久设置为utf8呢?
按网上所搜索的方法(比如这个链接:(原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)),设置:
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
character-set-server = utf8
init-connect=’set names utf8′
虽然有很多人表示这样可行,但在我这里也还是不行。不知道是版本不同造成的(我用的是MySQL5.7.9版),还是操作系统平台不同造成的(我用的是Win7 64位系统下的WampServer)?
还望哪位大侠指点一下。先谢过了!
2016/10/10补充:
实际上按照上面的方法已经可以永久修改过来了,只是我修改后只重启了WampServer,而没有重启cmd(或者exit退出MySQL连接,然后再重连),因此导致我以为没有修改过来的假象,而实际上已经修改过来了。
只是为什么除了重启WampServer之外,还非要重启cmd,我有点难以理解。哪位大侠能指点一二?
MySQL在配置文件中设置字符集的方法在某个版本后已经变了。
[mysqld]
character_set_server=utf8
仅仅这行就够了
改配置文件
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
character-set-server = utf8