今天偶然遇到一个错误,就是保存文本的时候带有了emoji表情,报错了

 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A\xF0\x9F...' for column 'content' at row 1
; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x98\x8A\xF0\x9F...' for column 'content' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A\xF0\x9F...' for column 'content' at row 1

数据库错误,原因如下:

保存带有emoji的文本报错解决方案_数据库

保存带有emoji的文本报错解决方案_java_02

简而言之就是数据库版本的问题,5.5之前的不支持,5.5+支持,原因老版本的仅仅支持3个字符的unicode,新版本支持到4位

好吧,那么重装数据库,然后修改字符集,问题就能解决了

保存带有emoji的文本报错解决方案_微信公众号_03



BeJavaGod 学习交流群 保存带有emoji的文本报错解决方案_java_05