Spring Boot配置Datasource适配utf8mb4

由于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这一行

如果你用的是其他连接池,参考下对应的文档,做一下微调

Leave a Reply

Your email address will not be published.