不改数据库字符编码java
发现网上都说将数据库编码修改成utf8mb4,可是我用了这样的方式,发现并无什么用,,而后而后,就发现了下面的这种方式:数据库
解决思路:将包含表情的字符先进行转码(表情转字符),转成普通字符存入数据库中,在显示到页面的时候再进行一次转码(字符转表情)app
为了解决客户说的这个要求我硬是搞了小半天,怎么设置数据库字符编码都不对, 心疼本身三秒钟,结果用下面的方式,分分钟搞定 简直爽歪歪maven
maven项目导入依赖ui
<dependency> <groupId>com.vdurmont</groupId> <artifactId>emoji-java</artifactId> <version>3.2.0</version> </dependency>
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:编码