這篇文章給大家介紹怎么利用java存儲emoji表情,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)建站是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、做網(wǎng)站、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)網(wǎng)站制作公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風格。自公司成立以來曾獨立設(shè)計制作的站點上千余家。
1.問題產(chǎn)生情況
我遇到這個問題是做微信開發(fā)的時候有些有用的頭像用了微信的emoji表情,然而我的MySQL數(shù)據(jù)庫用的編碼是utf8_general_ci,就是utf-8編碼,結(jié)果也就報錯誤了。
2.為什么會出現(xiàn)這種原因
因為mysql的utf8編碼的一個字符最多3個字節(jié),但是一個emoji表情為4個字節(jié),所以utf8不支持存儲emoji表情。但是utf8的超集utf8mb4一個字符最多能有4字節(jié),所以能支持emoji表情的存儲。
3.解決方法之一
把你的數(shù)據(jù)庫編碼集設(shè)置為utf8mb4,無論是數(shù)據(jù)庫還是表,還是字段。雖然會增加存儲,但是這個可以忽略不計。
4.解決方法之二
有句話說得好,問題來了要么解決要么折中解決。如果有些原因你不能修改數(shù)據(jù)庫編碼之類的,你可以用java的一些插件,如emoji-java這種emoji表情插件對表情進行特殊處理,然后保存或者去掉表情,這也是一種解決方法哦。
5.最后說點什么
通過對一個問題不同角度的思考,原來才發(fā)現(xiàn)世界同而不同,不同而同......
最后來段代碼:
import com.github.binarywang.java.emoji.EmojiConverter; /** * 表情處理類 * @author Administrator * */ public final class EmojiUtil { private static EmojiConverter emojiConverter = EmojiConverter.getInstance(); /** * 將emojiStr轉(zhuǎn)為 帶有表情的字符 * @param emojiStr * @return */ public static String emojiConverterUnicodeStr(String emojiStr){ String result = emojiConverter.toUnicode(emojiStr); return result; } /** * 帶有表情的字符串轉(zhuǎn)換為編碼 * @param str * @return */ public static String emojiConverterToAlias(String str){ String result=emojiConverter.toAlias(str); return result; } }
使用的框架是:
<dependency> <groupId>com.github.binarywang</groupId> <artifactId>java-emoji-converter</artifactId> <version>0.0.1</version> </dependency>
關(guān)于怎么利用java存儲emoji表情就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)站標題:怎么利用java存儲emoji表情
網(wǎng)頁鏈接:http://www.ekvhdxd.cn/article0/pjeiio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、手機網(wǎng)站建設(shè)、App設(shè)計、網(wǎng)站制作、、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)