前言

Github:https://github.com/HealerJean

博客:http://blog.healerjean.com

前面的一遍文档已经介绍了怎么存储Emoji,但是我们会发现存到库里是乱码的形式,但是乱码又能怎么样的,能用不就行了。但是我们非让他不显示乱码怎么办呢,有解决方式。这里的解决方式不仅针对utfbm4针对utf8也是管用的,但是是针对特定的字段,处理起来比较繁琐,在明确知道已经有Emoji中是可以的,但是对于很多地方我们不知道有没有这个Emoji, 不建议使用这种方式

好了,废话不多说了

1、引入依赖

<dependency>
     <groupId>com.vdurmont</groupId>
     <artifactId>emoji-java</artifactId>
    <version>3.2.0</version>
</dependency>

2、表情string转化

原理:😁我可以存储为:smile:,😭存储为:cry:,等等,可以这样映射起来。

		EmojiParser.parseToAliases(string); 将表情符号转为字符
		EmojiParser.parseToUnicode(string); 将字符转为表情符号



@RequestMapping("/add/content")
public ResponseEntity insertContent(@RequestBody Content content) {
    String title = content.getTitle();

    String titles = EmojiParser.parseToAliases(title);
    content.setTitle(titles);
    Integer integer = emojiMapper.insertContent(content);
    if (integer == 1) {
        return ResponseEntity.ok().build();
    }
    return  ResponseEntity.badRequest().build();

}

@RequestMapping("/get/{id}")
public Content getById(@PathVariable("id") Integer id) {

    Content content = emojiMapper.selectById(id);
    String title = EmojiParser.parseToUnicode(content.getTitle());
    content.setTitle(title);
    if (content != null) {
        return content;
    }
    return  null;
}


4、数据库中的存储

WX20180607-162928@2x

ContactAuthor