由于MySQL设计的编码不合理,默认utf8是不能存储emoji表情的,会报错。
1 修改MySQL表的数据集
alter table tbl_xxx character set utf8mb4;
2 修改yaml配置
datasource: tomcat: initSQL: SET NAMES utf8mb4 url: jdbc:mysql://xxxxxx-writer:3306/xxxx?Unicode=true&characterEncoding=UTF-8 username: xxx password: xxx
要说明的是,不要尝试把url中utf-8改成utf8mb4,不支持的,需要写的是initSQL这一行
如果你用的是其他连接池,参考下对应的文档,做一下微调