表情符號過濾

2021-07-12 02:15:45 字數 2006 閱讀 7777

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.需要儲存 有些時候由於後端資料庫編碼集顯示,前端直接將表情符號等傳到後端再次傳輸回來已經是亂碼,無法進行回顯,所以需要前端進行處理 解決方案 前端對獲取到的字串進...