天天看點

帶emoji字元串無法存入utf8資料庫的解決辦法

包含emoji的字元串,如,無法存入utf8編碼格式的mysql資料庫。網上說的解決辦法有兩種,一是自己轉換,而是将資料庫編碼全部改成utf8mb4。這裡介紹的是第一種辦法。

使用插件:

emoji-java

使用代碼
package com.kuyuntech.util;

import com.kuyuntech.aop.ServiceLogAspect;
import com.vdurmont.emoji.EmojiParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class EmojiConvertUtil {
    private final static Logger log = LoggerFactory.getLogger(ServiceLogAspect.class);

    /**
     * 将emoji字元串轉換為資料庫中可存儲的字元串
     * @param emojiStr
     * @return
     */
    public static String emojiToStr(String emojiStr){
        return EmojiParser.parseToAliases(emojiStr);
    }

    /**
     * 将資料庫中的字元串轉換為emoji字元串
     * @param str
     * @return
     */
    public static String strToEmoji(String str){
        return EmojiParser.parseToUnicode(str);
    }
}