天天看点

带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);
    }
}