public class emojifilter
sourcestr = source.tostring();
pattern emoji = pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
pattern.unicode_case | pattern.case_insensitive);
matcher emojimatcher = emoji.matcher(sourcestr);
if (emojimatcher.find())
return sourcestr;}//
emoji表情字串 mysql utf8資料庫無法o.
public static string filteremoji1(string source)
return source;
}return source;
}/**
* 將emoji表情替換成*
* * @param source
* @return 過濾後的字串
*/
public static string filteremoji(string source) else
} public static void main(string arg )catch (exception ex)
} /**
* @description 將字串中的emoji表情轉換成可以在utf-8字符集資料庫中儲存的格式(表情佔4個位元組,需要utf8mb4字符集)
* @param str
* 待轉換字串
* @return 轉換後字串
* @throws unsupportedencodingexception
* exception
*/
public static string emojiconvert1(string str)
throws unsupportedencodingexception -\\x\ud800-\udfff])";
pattern pattern = pattern.compile(patternstring);
matcher matcher = pattern.matcher(str);
stringbuffer sb = new stringbuffer();
while(matcher.find()) catch(unsupportedencodingexception e)
} // log.debug("emojiconvert " + str + " to " + sb.tostring()
// + ", len:" + sb.length());
return sb.tostring();
} /**
* @description 還原utf8資料庫中儲存的含轉換後emoji表情的字串
* @param str
* 轉換後的字串
* @return 轉換前的字串
* @throws unsupportedencodingexception
* exception
*/
public static string emojirecovery2(string str)
throws unsupportedencodingexception catch(unsupportedencodingexception e)
} // log.debug("emojirecovery " + str + " to " + sb.tostring());
return sb.tostring();
} }
正則過濾符號 判斷與過濾的表情符號表情的方法
使用js過濾表情符號表情的主要原因 輸入標籤中輸入表情符號表情,表單提交後插入資料庫。報錯原因 因為utf 8編碼有可能是兩個,三個,四個位元組.emoji表情是4個位元組,而mysql的utf8編碼最多3個位元組,所以資料插不進去。兩個解決方案 1.將mysql的編碼從utf8轉換成utf8mb4...
Mysql存表情符號發生錯誤
流程是 檢視my.ini檔案在 修改配置檔案。修改庫,表,欄位的編碼。修改連線資料庫的編碼,即去掉useunicode true characterencoding utf8。命令列 資料庫 alter database character set utf8mb4 collate utf8mb4 g...
前端處理emoji表情符號(儲存,不儲存)
1.不需要儲存,只可以輸入中文等 更換正則即可 var reg u4e00 u9fa5 g if reg.test this val 2.需要儲存 有些時候由於後端資料庫編碼集顯示,前端直接將表情符號等傳到後端再次傳輸回來已經是亂碼,無法進行回顯,所以需要前端進行處理 解決方案 前端對獲取到的字串進...