一般數(shù)據(jù)庫的編碼是utf8,utf8是不支持存儲表情符的,當(dāng)存入的微信昵稱帶有表情符時就會出現(xiàn)亂碼情況,有兩種解決方法:
站在用戶的角度思考問題,與客戶深入溝通,找到上高網(wǎng)站設(shè)計與上高網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋上高地區(qū)。
1.MySQL數(shù)據(jù)庫升級到5.5版本以上,utf8改為utf8mb4,utf8mb4的字符最多可以是4個字節(jié),可以存儲表情符,重啟數(shù)據(jù)庫服務(wù)器,這種方式有可能會失效;
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; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。