遇到SQL类似报错说明mysql需升级支持表情emoji
老的系统通过日志发现偶尔有报错:
java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x99\x8F</…’ for column ‘content’ at row 1 Query: insert into df_ssss(fid,type_id,domain_id,nick_name,user_id,subject,content,anonymous_code,ip,dateline,attachment,source,info) values (?,?,?,?,?,?,?,?,?,?,?,?,?) Parameters: [4756, 6, 8,
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363)
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363)
说明系统不支持 表情emoji;建议升级到MySQL在8.0以上,性能更加好一些,支持表情emoji
mysql 建议采用 character-set-server=utf8mb4
[mysqld]
character-set-server=utf8mb4
character-set-server=utf8mb4
升级了修改数据库编码:ALTER DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
因为我数据库有些字段还在使用GBK ,也要对表和字段修改
表修改编码:alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin;
字段就进行单独修改 不然写入的时候还是报错。