标签:group mysql set com 有一个 存储 style nic 为什么
在解决之前,得先说明一下为什么会出现报错,Emoji表情占用4个字节,但是MySQL数据库UTF-8编码最多只能存储3个字节,就会导致存储不进去
mysql 的 utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。但是修改这个配置太繁琐了,容易出错,emoji-java这个库可以在代码段解决这个问题,解决思路:
例如: ?? 我可以存储为:smile:,??存储为:cry:,等等,可以这样映射起来。
1 <dependency> 2 <groupId>com.vdurmont</groupId> 3 <artifactId>emoji-java</artifactId> 4 <version>3.2.0</version> 5 </dependency>
String nikeNameTmp = resultjson.get("nickName").toString();
String nikeName = EmojiParser.parseToAliases(nikeNameTmp); //将表情符号转为字符
使用下面的两个方法就可以互相转换了:
EmojiParser.parseToAliases(string); 将表情符号转为字符
EmojiParser.parseToUnicode(string); 将字符转为表情符号
标签:group mysql set com 有一个 存储 style nic 为什么
原文地址:https://www.cnblogs.com/walblog/p/9457015.html