项目需求,数据库中引入带有emoji数据,引入后报错:

这是因为表情是4个字节的,Mysql的utf-8编码只支持3个字节的数据,所以要使用到新的编码utf8mb4。
因此按照这个方向去排查:
1、首先确定下MariaDB对应的MySQL版本:
MariaDB 5.5 对应 Mysql 5.5
5.5以下的版本都是上述对应关系
MariaDB 10.0 对应 Mysql 5.6
MariaDB 10.1 对应 Mysql 5.7
mysql5.5.3以上才支持utf8mb4
因此,可以看出我们的版本是支持的:

2、既然这样,那修改字符集就可以了,下面是修改字符集的一些手段:
大佬已经整理好了,在此感谢:https://www.cnblogs.com/yangmingxianshen/p/7999428.html
原来的样子:

3、但是发现只更改了库的字符集不管用:
改之前:

改之后:

本文介绍了在MySQL数据库中遇到导入emoji数据时出现的错误,由于utf-8编码不支持四字节的emoji,故需要切换到utf8mb4编码。针对这一问题,首先确认MariaDB版本,确保支持utf8mb4。接着,尝试修改数据库字符集,但仅修改库的字符集并不奏效。为全局解决,需要在my.cnf配置文件中添加相关参数,包括设置默认字符集和重启数据库。通过这些步骤,成功导入了包含emoji的数据。
最低0.47元/天 解锁文章
4265

被折叠的 条评论
为什么被折叠?



