因为项目使用了微信登录,所以会拉取微信用户信息保存到本地数据库中,以前一直没啥问题,今天有个用户就是登不上,其他人都是可以正常登录的,结果查了一下发现他的用户名称有emiji,解决办法还算挺多的
1.将数据库的utf8编码转换成utf8mb4的编码
2.判断emoj进行阶段,只取汉字
3.第三方依赖包emoji-java
等等
刚开始我是尝试了第一个方法,在本地是可以的,但是由于服务器上mysql版本太低无法支持,所以我就尝试了一下第三种方法
先是pom里引入依赖
<dependency>
<groupId>com.vdurmont</groupId>
<artifactId>emoji-java</artifactId>
<version>3.2.0</version>
</dependency>
然后把微信种的昵称信息转义掉变成字符串
String convertEmoji = EmojiParser.parseToAliases(wxUserInfoRO.getNickname());
之后在把转义后的字符串插入mysql
转义后的字符是这样的,转义前是
参考 https://blog.csdn.net/qq_36802726/article/details/85321412
标签:微信,转义,插入,报错,mysql,emoji From: https://www.cnblogs.com/luzanzan/p/17829324.html