Mysql-emoji表情支持版本
大于5.5.3的Mysql版本才开始支持emoji表情
Mysql-emoji表情失败原因
- 普通的字符串或者表情都是占位3个字节,使用utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集。Mysql 5.5.3之前的版本,仅支持的utf8为3字节的,Mysql 5.5.3之后的版本支持utf8mb4为4字节的。
Mysql配置修改
修改mysql配置文件my.cnf(windows为my.ini)
找到后请在以下三部分里添加如下内容
1
2
3
4
5
6
7
8
9[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
检查变量
1
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
将数据库和已经建好的表也转换成utf8mb4
1.更改数据库编码
1
ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2.更改表编码
1
ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;