去评论
dz插件网

遇到SQL类似报错说明mysql需升级支持表情emoji

浅生
2021/03/16 20:52:17
老的系统通过日志发现偶尔有报错:

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)

说明系统不支持 表情emoji;建议升级到MySQL在8.0以上,性能更加好一些,支持表情emoji

mysql 建议采用 character-set-server=utf8mb4

[mysqld]
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;

字段就进行单独修改 不然写入的时候还是报错。