最近遇到一個問題,公司的數據庫是utf-8的字符集,而支持 特殊符號,emoji表情,四字節等特殊符號的需要是utf-8mb4的字符集纔可以,不然強行插入是會報錯的,這時候就需要將獲取到的包含特殊符號的字符串進行去除特殊符號的處理。具體方法如下:
//處理四字節 及特殊符號無法保存數據庫的問題
if (StringUtils.isNotEmpty(string)) {
String stringNew = string.replaceAll("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", "").trim();
}
這樣經過處理後的string變成stringNew後,裏面就不會包含 特殊符號,emoji表情,四字節等字符串了,插入utf-8字符集的數據庫也就不會報錯了。