Incorrect string value: '\xF0\x9F\x92\x8B \xF0...' for column nickanme

时间:2021-08-17 20:16:24

存Emoj表情符时,报错。

原因:mysql数据库按3个字节进行编码,表情符是四个字节,存入数据库报错

把表情符替换成空串就可以了

if (nickname != null && !"".equals(nickname)) {
	nickname = nickname.replaceAll("[\ud800\udc00-\udbff\udfff\ud800-\udfff]", "");
	logger.warn("nickname:" + nickname);
}

另一种方法

Incorrect string value: '\xF0\x9F\x92\x8B \xF0...' for column nickanme