在富文本中添加emoji表情,再存入数据数据时,会报sql异常
在网上找了一些方法,按照步骤修改了数据库、表和对应字段的编码格式为utf8mb4,但是还是报错。
org.springframework.jdbc.UncategorizedSQLException:
### Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB9\xF0\x9F...' for column 'content' at row 1
### The error may involve com.xxx.mapper.xxxMapper.insertSelective-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO xxxTable(id,title,content,create_by,update_by) VALUES( ?,?,?,?,?)
### Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB9\xF0\x9F...' for column 'content' at row 1
; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x8C\xB9\xF0\x9F...' for column 'content' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB9\xF0\x9F...' for column 'content' at row 1
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
又继续百度,发现了一种更为便捷的方式,直接在工程的application.properties文件里连接数据库的JDBC配置里,添加SQL编码初始化的代码段。
spring.datasource.druid.connection-init-sqls=set names utf8mb4;
完美解决emoji表情无法插入的问题。
echo9310 发布了2 篇原创文章 · 获赞 0 · 访问量 1万+ 私信 关注