使用druid操作emoji表情报错

保存信息:

o.h.engine.jdbc.spi.SqlExceptionHelper   [logExceptions]      #137  : SQL Error: 1366, SQLState: HY000
2021-05-18 11:35:29.306 ERROR 124108 --- [           main] o.h.engine.jdbc.spi.SqlExceptionHelper   [logExceptions]      #142  : Incorrect string value: '\xF0\x9F\x98\x83' for column 'sms' at row 1
2021-05-18 11:35:29.307 ERROR 124108 --- [           main] o.h.i.ExceptionMapperStandardImpl        [mapManagedFlushFailure] #39  : HHH000346: Error during managed flush [org.hibernate.exception.GenericJDBCException: could not execute statement]

\xF0\x9F\x98\x83就代表emoji表情☺,数据库入库时候报错了!

# 添加这样一句话,就可以了,具体可以看下面的博客
spring.datasource.druid.connection-init-sqls=SET NAMES utf8mb4

重点是这三点:

1. 是否能够插入表情,不仅仅要求相关的字段是utf8mb4编码格式,utf8mb4仅仅只是前提
2. 除了要求字段的格式是utf8mb4,还要求当前的session会话连接的编码同时是utf8mb4
3. set name utf8mb4  只对当前会话有效,不影响其他连接和全局的配置

https://juejin.cn/post/6844904178536415245

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值