修改Mysql编码,解决emoji存储的问题
支持emoji的编码是utf8mb4。
1.查看数据库版本,utf8mb4最低的版本支持是5.5.3+,如果版本低了请升级版本
2.修改database,table,column字符集
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name MODIFY column_name VARCHAR(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ----字段字符集可以忽略
3.修改mysql配置文件my.cnf(windows为my.ini)
my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:
[client]default-character-set = utf8mb4
[mysql]default-character-set = utf8mb4
[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4 ----这两行比较关键collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4' ----这两行比较关键
**4.重启Mysql,service mysql restart **
进入mysql控制台,mysql -u root -p
输入: SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
查看编码设置是否正确,如下:
QQ截图20161102144623.png