1. 程式人生 > >Incorrect string value: '\xF0\x9F\x92\x8B \xF0...' for column nickanme

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

存Emoj表情符時,報錯。

原因:mysql資料庫按3個位元組進行編碼,表情符是四個位元組,存入資料庫報錯

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

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

另一種方法