欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java emoji表情存儲(chǔ)的解決方法

 更新時(shí)間:2017年06月28日 17:18:54   作者:全力以赴001  
這篇文章主要為大家詳細(xì)介紹了java emoji表情存儲(chǔ)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1.問題產(chǎn)生情況

我遇到這個(gè)問題是做微信開發(fā)的時(shí)候有些有用的頭像用了微信的emoji表情,然而我的mysql數(shù)據(jù)庫用的編碼是utf8_general_ci,就是utf-8編碼,結(jié)果也就報(bào)錯(cuò)誤了。

2.為什么會(huì)出現(xiàn)這種原因

因?yàn)閙ysql的utf8編碼的一個(gè)字符最多3個(gè)字節(jié),但是一個(gè)emoji表情為4個(gè)字節(jié),所以u(píng)tf8不支持存儲(chǔ)emoji表情。但是utf8的超集utf8mb4一個(gè)字符最多能有4字節(jié),所以能支持emoji表情的存儲(chǔ)。

3.解決方法之一

把你的數(shù)據(jù)庫編碼集設(shè)置為utf8mb4,無論是數(shù)據(jù)庫還是表,還是字段。雖然會(huì)增加存儲(chǔ),但是這個(gè)可以忽略不計(jì)。 

4.解決方法之二

有句話說得好,問題來了要么解決要么折中解決。如果有些原因你不能修改數(shù)據(jù)庫編碼之類的,你可以用java的一些插件,如emoji-java這種emoji表情插件對表情進(jìn)行特殊處理,然后保存或者去掉表情,這也是一種解決方法哦。

5.最后說點(diǎn)什么

通過對一個(gè)問題不同角度的思考,原來才發(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>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis中mapper.java和mapper.xml的關(guān)系說明

    MyBatis中mapper.java和mapper.xml的關(guān)系說明

    這篇文章主要介紹了MyBatis中mapper.java和mapper.xml的關(guān)系說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 整理很詳細(xì)的Java正則表達(dá)式使用大全

    整理很詳細(xì)的Java正則表達(dá)式使用大全

    這篇文章為大家整理了很詳細(xì)的Java正則表達(dá)式使用大全,大家在使用Java正則表達(dá)式的時(shí)候可查閱這篇文章,認(rèn)為不錯(cuò)的朋友可以收藏起來
    2015-12-12
  • java實(shí)現(xiàn)圖片轉(zhuǎn)ascii字符畫的方法示例

    java實(shí)現(xiàn)圖片轉(zhuǎn)ascii字符畫的方法示例

    這篇文章主要介紹了java實(shí)現(xiàn)圖片轉(zhuǎn)ascii字符畫的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Java接口回調(diào)的本質(zhì)詳解

    Java接口回調(diào)的本質(zhì)詳解

    大家好,本篇文章主要講的是Java接口回調(diào)的本質(zhì)詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Mybatis使用連表查詢的操作代碼

    Mybatis使用連表查詢的操作代碼

    這篇文章主要介紹了Mybatis如何使用連表查詢,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • spring cloud 分布式鏈路追蹤的方法

    spring cloud 分布式鏈路追蹤的方法

    這篇文章主要介紹了spring cloud 分布式鏈路追蹤的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Java異常處理機(jī)制try catch流程詳解

    Java異常處理機(jī)制try catch流程詳解

    這篇文章主要介紹了Java異常處理機(jī)制try catch流程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 淺析JVM垃圾回收的過程

    淺析JVM垃圾回收的過程

    這篇文章主要介紹了JVM垃圾回收的過程,幫助大家更好的理解和學(xué)習(xí)Java中的垃圾回收機(jī)制,感興趣的朋友可以了解下
    2020-09-09
  • Spring Boot CLI安裝教程

    Spring Boot CLI安裝教程

    Spring Boot是一個(gè)命令行工具,用于使用Spring進(jìn)行快速原型搭建。本文重點(diǎn)給大家介紹Spring Boot CLI安裝教程,感興趣的朋友參考下吧
    2017-08-08
  • Mybatis如何直接執(zhí)行SQL語句

    Mybatis如何直接執(zhí)行SQL語句

    這篇文章主要介紹了Mybatis如何直接執(zhí)行SQL語句,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評(píng)論