要把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 重启数据库

好了,附图,这是修改后的结果
微信图片_20220127145514.png

二、转换emoji
在保存到数据库前先把emoji转换,取出数据后再转回emoji。这种方式可以解决大部分无法存入数据库的数据,相关的转换函数自行百度吧,肯定能够CV的!!!

标签: mysql, mysql5.5.62

添加新评论