java處理數(shù)據(jù)庫(kù)不支持的emoji表情符問(wèn)題解決
一般數(shù)據(jù)庫(kù)的編碼是utf8,utf8是不支持存儲(chǔ)表情符的,當(dāng)存入的微信昵稱帶有表情符時(shí)就會(huì)出現(xiàn)亂碼情況,有兩種解決方法:
1.mysql數(shù)據(jù)庫(kù)升級(jí)到5.5版本以上,utf8改為utf8mb4,utf8mb4的字符最多可以是4個(gè)字節(jié),可以存儲(chǔ)表情符,重啟數(shù)據(jù)庫(kù)服務(wù)器,這種方式有可能會(huì)失效;
2.在java代碼里過(guò)濾掉表情符,簡(jiǎn)潔高效,下面是過(guò)濾掉表情符的工具類:
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; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringAOP如何修改請(qǐng)求參數(shù)列表
這篇文章主要介紹了SpringAOP如何修改請(qǐng)求參數(shù)列表問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03JAVA實(shí)現(xiàn)Date日期加一天具體方法
這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)Date日期加一天的相關(guān)資料,因?yàn)樵陧?xiàng)目中遇到了需要將日期進(jìn)行加減一些天數(shù)的操作,文中給出了簡(jiǎn)單的代碼示例,需要的朋友可以參考下2023-07-07使用IDEA搭建MyBatis環(huán)境詳細(xì)過(guò)程
這篇文章主要介紹了使用IDEA搭建MyBatis環(huán)境的相關(guān)知識(shí),包括創(chuàng)建項(xiàng)目的過(guò)程及導(dǎo)入mybatis的核心jar包的詳細(xì)說(shuō)明,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-05-05Maven忽略單元測(cè)試及打包到Nexus的實(shí)現(xiàn)
我們的工程在打包發(fā)布時(shí)候,通常都需要忽略單元測(cè)試,以免因環(huán)境原因,無(wú)法通過(guò)單元測(cè)試而影響發(fā)布,本文主要介紹了Maven忽略單元測(cè)試及打包到Nexus的實(shí)現(xiàn),感興趣的可以了解一下2024-04-04詳解IDEA用maven創(chuàng)建springMVC項(xiàng)目和配置
本篇文章主要介紹了詳解IDEA用maven創(chuàng)建springMVC項(xiàng)目和配置 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Java網(wǎng)絡(luò)編程之UDP實(shí)現(xiàn)原理解析
UDP實(shí)現(xiàn)通信非常簡(jiǎn)單,沒(méi)有服務(wù)器,每個(gè)都是客戶端,每個(gè)客戶端都需要一個(gè)發(fā)送端口和一個(gè)接收端口,本文給大家介紹Java網(wǎng)絡(luò)編程之UDP實(shí)現(xiàn)原理解析,感興趣的朋友一起看看吧2021-09-09