数据库
首页 > 数据库> > 解决emoji表情插入数据库报错问题

解决emoji表情插入数据库报错问题

作者:互联网

在富文本中添加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万+ 私信 关注

标签:数据库,content,SQLException,报错,x9F,xF0,row,###,emoji
来源: https://blog.csdn.net/echo9310/article/details/104552256