记 Spring Boot 项目无法插入 utf8mb4mb4 编码数据的问题
今天同步微信公众号粉丝数据的时候,发现其中一条插入失败了,错误信息如下:
1 | java.sql.SQLException: Incorrect string value: '\xF0\x9F\x87\xB1 \xF0...' for column 'nickname' at row 1 |
异常排查
检查后发现粉丝的昵称是特殊字符: ? ? ?
检查数据库后发现编码为:utf8mb4
,修改数据库编码为 utf8mb4mb4
后再次测试,依旧出错。
通过项目日志,获取到具体 Sql
代码
1 | INSERT INTO wx_user ( open_id, nickname, sex, head_img_url, country, province, city, remark, |
手动执行 Sql
代码,居然插入成功了…
解决办法
通过上面的排查,排除掉了数据库的问题,通过查阅资料,发现可以在 application.yml
的 Durid
参数中设置客户端连接数据库编码
1 | spring: |
重启项目,再次尝试,同步成功~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 知了小站!
评论