Incorrect string value: 'xF0x9Fx8CxB8'異常解決
阿新 • • 發佈:2019-04-11
如果 sql 編碼集 remove rec nco pen 方法 存儲
異常原因:
mysql中utf-8編碼的字符長度為3個字節,一般字符也是三個字節,所以一般情況是沒有問題的,但是emoji表情是四個字節,如果需要存儲emoji時使用utf-8編碼就會拋出此異常。在5.5.3版本之後mysql支持了存儲4個字節的utf8字符,字符集為utf8mb4,兼容utf-8的編碼集,此時使用此編碼是沒有問題的。
解決方案:
1.將數據庫,對應的表,對應的表字段都設置為utf8mb4編碼集即可。
1.修改表字段的字符集編碼
ALTER TABLE table_name MODIFY colum_name VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2.修改表的字符集編碼
ALTER TABLE table_name CHARSET=utf8mb4;
3.修改數據庫的字符集編碼
SET DB_NAME utf8mb4;
2.不存儲emoji表情數據
1.添加依賴
<dependency> <groupId>com.vdurmont</groupId> <artifactId>emoji-java</artifactId> <version>4.0.0</version> </dependency>
2.使用方法過濾掉emoji數據
String string = EmojiParser.removeAllEmojis(param);
Incorrect string value: '\xF0\x9F\x8C\xB8'異常解決