项目中出现用QQ等第方登入时获取到第三方平台的昵称中出现表情无法插入到mysql数据库
经查特殊表情为utf8mb4格式,数据据也有这个编码但改成那个编码也没插入成功,因为项目中不用展示这些表情 ,所以没去管了,所以干脆用空字符串替换掉,代码如下,代码中用到的Range类引自guava包中的类
static Range<Character> utf84ByteRange = Ranges.closed("\u1F601".charAt(0), "\u1F64F".charAt(0));
//把utf-8了字节编码的字符去掉
//参见: http://cenalulu.github.io/linux/character-encoding/
// 所谓Emoji就是一种在Unicode位于\u1F601-\u1F64F区段的字符
private static String replaceUtf84byte(String str) {
if (StringUtils.isBlank(str)) return StringUtils.EMPTY;
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (Character.isSurrogate(chars[i])) { //参见: http://stackoverflow.com/questions/14981109/checking-utf-8-data-type-3-byte-or-4-byte-unicode
Logger.warn(chars[i] + "字符为 surrogate code unit, utf-8为4字节编码, 替换成空格");
chars[i] = ' '; //替换成空格
}else if (utf84ByteRange.contains(chars[i])) {
Logger.warn(chars[i] + "字符为 在\\u1F601-\\u1F64F, utf-8为4字节编码, 替换成空格");
chars[i] = ' '; //替换成空格
}
}
return new String(chars);
}
分享到:
相关推荐
emoji表情符号存放数据库需要数据库支持4个字节的数据格式,而mysql默认的utf8只能存储3个字节,所以需要mysql版本5.6及以上,并设置数据库为utf8mb4字符集
Java开发,DB为Mysql,版本不详,编码用的是UTF-8,存入Emoji表情时报错如下: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x93' for column 'strValueContent' at row 1 解决方案:
Mysql支持emoji 表情符号 升级编码为UTF8MB4
用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x9B' 失败原因 mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4...
ipone5s中昵称输入“emoji 表情”,保存数据库有问题。 Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8E\x80\xE5\xA4...' for column 'nickname' at row 1
抖音官方emoji表情,emoji格式为webp。如果需要其他格式可以使用“格式工厂”转换一下。http://www.pcgeshi.com/
mysql数据库支持emoji实例,里面包含了一个5.7.6版本的免安装数据库,一个开发步骤文档。亲测可行。
emoji表情在我们日常开发中经常会遇到,但是最近在mysql中插入emoji表情遇到了问题,通过查找相关的资料终于解决了,所以将这次解决的过程分享出来,这篇文章主要就给大家介绍了MySQL插入emoji表情失败问题的解决...
判断字符串是否包含emoji表情
支持搜狗等第三方输入法输入标准emoji表情,输出在edittext上直接就是表情图片,点击确定按钮,textview上也可正常显示
109个微信自带的emoji表情
php 处理APP emoji表情包 IOS表情包 Mysql保存手机表情
1、开源案例源码,刚好找到,里面自己优化了一下脚本 2、适用于微信登录含有Emoji表情进行处理显示
微信最新Emoji表情149个png打包.zip
oracle不支持emoji表情的直接保存.可通过java解析为emoji字符进行存储.使用时再进行转化使之在移动端以emoji表情正常显示
通用emoji表情包与JSON
本工具类包含了Emoji表情的转码和解码 包括了通过url获取文件大小的功能
android 输入框EditText禁止输入Emoji表情符,博客地址:http://blog.csdn.net/elsdnwn/article/details/45390771
微信小程序添加emoji表情组件,雪碧图版本