mysql保存emoji
要把emoji存到mysql里度娘的答案都是把数据表格式改utf8mb4即可,但实际上只改表格式是不生效的,还需要更改数据库配置
因为有个古老的项目需要使用到mysql5.5,所以此次修改基于mysql5.5.62
一、修改配置
1.1 windows下找到my.ini,添加如下
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
1.2 linux下找到my.cnf,添加如下
[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'
2 修改后转换数据库表编码格式
更改数据库编码:ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
更改数据表编码: alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin;
3 重启数据库
好了,附图,这是修改后的结果
二、转换emoji
在保存到数据库前先把emoji转换,取出数据后再转回emoji。这种方式可以解决大部分无法存入数据库的数据,相关的转换函数自行百度吧,肯定能够CV的!!!