方案1.改數據庫配置 使之支持emoji表情等特殊字符,小公司或者個人開發還好,大公司用此方案代價較大。 以mysql為例,改配置方法參考:https://blog.csdn.net/u010737354/article/details/52456668 方案2.使用unicode編碼(推薦使用) 統一標准:入庫或入緩存統一對特殊字符unicode編碼,從庫或緩存取出后統一進行unicode編碼 (1)unicode加密: //加密emoji表情 public static String encodeToUnicode(String string) { StringBuffer unicode = new StringBuffer(); for (int i = 0; i < string.length(); i++) { // 取出每一個字符 char c = string.charAt(i); // 轉換為unicode unicode.append("\\u" + Integer.toHexString(c)); } return unicode.toString(); } (2)unicode解密: //解密emoji表情 public static String decodeFromUnicode(String unicode) { StringBuffer string = new StringBuffer(); String[] hex = unicode.split("\\\\u"); if(hex.length==1){ return unicode; } for (int i = 1; i < hex.length; i++) { // 轉換出每一個代碼點 int data = Integer.parseInt(hex[i], 16); // 追加成string string.append((char) data); } return string.toString(); }
emoji表情等特殊字符處理和存儲的兩個方案_透明大腦-CSDN博客_emoji表情存儲