mysql中插入emoji报错
因为项目使用了微信登录,所以会拉取微信用户信息保存到本地数据库中,以前一直没啥问题,今天有个用户就是登不上,其他人都是可以正常登录的,结果查了一下发现他的用户名称有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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律