mysql: java.sql.SQLException: Incorrect string value: 'xF0x9Fx92x90</...'

插入数据出现问题,因为包含了特殊字符。

现象: 
插入的数据中如果含有某些特殊字符,会导致插入数据失败,例如字符串”测试**插入数据。。。“,在console中insert是正常的,但是使用java代码insert的时候报错。

原因:

mysql utf-8编码最多只支持三个字节,而有的unicode字符转成utf8编码之后有4个字节,所以插入失败。

解决方案:

修改Content字段为MEDIUMBLOB(原来是varchar),并且把SELECT语句修改成

SELECT CAST(Content AS CHAR CHARACTER SET utf8) AS Content ....  

INSERT语句不需要修改

也有说升级mysql,用utf8mb4编码

原文地址:https://www.cnblogs.com/yanyd/p/4778971.html