MySQL数据库的默认字符集UTF8,只能存储3个字节的数据。标准的表情符号表情是4个字节,在APP端输入保存表情是用户的普遍需求和行为。
插入数据库报错如下:
java.sql.SQLException:错误的字符串值:'\ xF0 \ x9F \ x92 \ xAA“,...'用于第1行的'raw_json'列,异常:org.springframework.jdbc.UncategorizedSQLException:
解决方式:更换字符集utf8 - > utf8mb4 mb4的意思是大多数字节4,专门为兼容四个字节的.utf8mb4是向下兼容utf8的,所以即便修改了字段的字符集也不会影响线上数据。
前提的:mysql的大于5.5.3版本。
步骤:
1.修改字段的字符集
ALTER table mb_touchpay_record modify clientName varchar(100) character set utf8mb4 collate utf8mb4_unicode_ci
2.表
ALTER table mb_touchpay_record charset=utf8mb4;
3.库
set names utf8mb4
原文:https://blog.youkuaiyun.com/ggibenben1314/article/details / 56290372