2016-02-11 194 views
2

我在Windows 7机器上安装了MySQL 5.7。 我需要更改数据库的字符集才能保留表情符号。如何在MySQL 5.7上设置utf8mb4(windows)

配置成的my.ini:

[client] 
default-character-set = utf8mb4 

[mysql] 
default-character-set = utf8mb4 

[mysqld] 
default-character-set = utf8mb4 
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 

进入我看到加载的配置文件的路径是正确的窗口服务。

展望数据库属性与查询:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; 

我得到了以下结果:

Variable_name Value 
character_set_client utf8 
character_set_connection utf8 
character_set_database utf8mb4 
character_set_filesystem binary 
character_set_results utf8 
character_set_server utf8 
character_set_system utf8 
collation_connection utf8_general_ci 
collation_database utf8mb4_general_ci 
collation_server utf8_general_ci 

所以,collat​​ion_server的,character_set_system,被character_set_server,character_set_results,是character_set_connection,character_set_client字符的值是错误的。

我该如何解决它们? 谢谢。

回答

2

连接到MySQL后,执行SET NAMES utf8mb4。这将确定您的客户正在使用完整的4字节编码进行读取/写入。

您可以在my.cnf/my.ini中做到这一点:

init_connect = 'SET NAMES utf8mb4' 

,但请记住,作为根连接(或任何SUPER用户)时,init_connect被忽略。

此外,表/列必须是CHARACTER SET utf8mb4