mysql设置美妙请求_MySQL表情存储报错的美妙解法 \xF0\x9F\x8C\x9

不改数据库字符编码

发现网上都说将数据库编码修改为utf8mb4,但是我用了这样的方式,发现并没有什么用,,然后然后,就发现了下面的这种方式:

解决思路:将包含表情的字符先进行转码(表情转字符),转成普通字符存入数据库中,在显示到页面的时候再进行一次转码(字符转表情)

为了解决客户说的这个要求我硬是搞了小半天,怎么设置数据库字符编码都不对, 心疼自己三秒钟,结果用下面的方式,分分钟搞定 简直爽歪歪

maven项目导入依赖

com.vdurmont

emoji-java

3.2.0

调用方式:

EmojiParser.parseToAliases(“nickname”); 将表情符号转为字符

EmojiParser.parseToUnicode(“nickname”); 将字符转为表情符号

String nick = EmojiParser.parseToAliases(nickname);

String nick = EmojiParser.parseToUnicode(nickname);

@RequestMapping(method = RequestMethod.POST)

@ResponseBody

@ApiOperation(value="创建评论管理")

public ResponseMessage> create(@ApiParam(name="评论管理对象") CmsCommentEntity cmsComment, UriComponentsBuilder uriBuilder) {

//保存

try{

//存储前先将表情转成字符

cmsComment.setContent(EmojiParser.parseToAliases(cmsComment.getContent()));

cmsCommentService.save(cmsComment);

} catch (Exception e) {

e.printStackTrace();

return Result.error("评论管理信息保存失败");

}

//显示的时候将字符回转成表情符

cmsComment.setContent(EmojiParser.parseToUnicode(cmsComment.getContent()));

return Result.success(cmsComment);

}

表情转码后在数据库中是这样的:哦哦哦:blush::blush::blush:

9374f39885bea4ebf2a85f5f3d6f318b.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值