【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《java 微信昵称带有emoji 表情乱码》,欢迎阅读!

问题描述:ipone5s中昵称输入“emoji 表情”,保存数据库有问题。
运行环境:Java、Tomcat、mysql、Linux(我的Linux下为乱码,这个是linux问题)
原因:IOS 5.x及以上版本的emoji 表情都是4字节的,mysql里的utf8一个字符最多3字节。所以保存不到数据库,会有以下报错:
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8E\x80\xE5\xA4...' for column 'nickname' at row 1
解决方法:
1. 去掉emoji 表情符(用的这个方法)
2. 修改Mysql数据编码,现在mysql中utf8mb4编码扩展到一个字符最多能有4字节(需
要修改现有的数据库编码,没有使用此方法)。
第一种方法:
》去掉emoji 表情符,java类:
》调用代码:EmojiFilter.filterEmoji(“昵称”);
EmojiFilter.java
本文来源:https://www.wddqxz.cn/5a1961d8964bcf84b8d57b11.html