java處理數據庫不支持的emoji表情符問題解決

這篇文章主要介紹了java處理數據庫不支持的emoji表情符問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一般數據庫的編碼是utf8,utf8是不支持存儲表情符的,當存入的微信暱稱帶有表情符時就會出現亂碼情況,有兩種解決方法:

1.mysql數據庫升級到5.5版本以上,utf8改爲utf8mb4,utf8mb4的字符最多可以是4個字節,可以存儲表情符,重啓數據庫服務器,這種方式有可能會失效;

2.在java代碼裏過濾掉表情符,簡潔高效,下面是過濾掉表情符的工具類:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmojiUtil {
  public static String replace(String input) {
    if (!StringUtil.isEmpty(input)) {
      String patternStr = "[^\\u0000-\\uFFFF]";
      Pattern pattern = Pattern.compile(patternStr, Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
      Matcher matcher = pattern.matcher(input);
      input = matcher.replaceAll("");
    }
    return input;
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章