Emoji表情后台处理
之前写android的,后来公司直接让我接手java后台,开始还担心完不成工期任务,硬着头皮直接上。。。。后来发现也就那样,爱情不变人在换。。。
记录下工作中遇到的小麻烦,首先就是用户登录或者创建昵称之类,用户会使用各式各样的表情,看着好看,给后台会造成各种乱码。开始也是查,网上大部分都是讲解设置数据库/表/列的编码为utf8mb4。看来遇到这类问题的不少,就按照这个设置了,并写了bloglmysql 插入数据时,出现”\xF0\x9F\x8F\x80”这种情况的处理! 后来发现还是有问题,这尼玛不是坑么。
公司先做的app是H5版的,所以入口是通过微信进去的,设置昵称为表情的时候,只有少部分表情在Android手机上是支持的,大部分在不同手机上显示不一样的效果,有?,有繁体字的乱码之类的。。。但是在iPhone手机上是没有问题的。原来Iphone使用的浏览器内核是支持utf16的,google在Android 6.0之后的chrome 内核上也支持了,但是微信使用的是自己改编的盗版chrome内核。兼容性不好,微信自己也对特殊表情做了限制,不再是随心所欲的设置昵称了。
废话这么多,下面来说说我的解决之法:
我在男性交友网站上找到了emoji-java 的库。这个库有自己的一张映射表,将表情和字符串做了关联,支持不少,但是更新太慢了,现在Emoji表情应该在2300+,他仅支持1000左右,最近更新在7个月前,这个注意了
这个库的有点是:使用起来非常方便。
java导入
Maven:
<dependency><groupId>com.vdurmont</groupId><artifactId>emoji-java</artifactId><version>3.2.0</version>
</dependency>
或者 Gradle导入
compile 'com.vdurmont:emoji-java:3.2.0'
之后直接调用就行了
将表情转码
String str = "An 【表情1】awesome【表情2】string 【表情3】with a few 【表情4】emojis!";
String result = EmojiParser.parseToAliases(str);
System.out.println(result);
// Prints:
// "An :grinning:awesome :smiley:string with a few :wink:emojis!"
将转码后的数据解码为带表情的字符串
String str = "An :grinning:awesome :smiley:string
Emoji表情后台处理相关推荐
- java过滤ios表情,JS前端去掉emoji表情和Java后台处理emoji表情方法
莫非定律 : 任何事情都没表面看去来那么简单! emoji表情在项目中使用,因为其特殊的编码格式,经常导致在网络传输.编解码.以及数据入库中带来一些问题! 下面简单介绍使用Js和java处理移除emo ...
- JS前端去掉emoji表情和Java后台处理emoji表情方法
莫非定律 : 任何事情都没表面看去来那么简单! emoji表情在项目中使用,因为其特殊的编码格式,经常导致在网络传输.编解码.以及数据入库中带来一些问题! 下面简单介绍使用Js和java处理移除emo ...
- java后台处理APP表情-使用轻量工具emoji-java处理emoji表情字符
目录 pom依赖 java工具类 测试 Java Url编码转换 在APP开发中,大多需要涉及表情符号丰富APP,但是因为我们的数据库一般是utf8编码,是3个字节,而表情符号基本都是四个字节的uni ...
- qt icon如何显示gif_收集Qt支持的emoji表情-第五弹
收集一些Qt富文本控件支持的emoji表情. 下列是关于符号主题的表情. 使用 Qt版本5.12.1 直接复制表情到Qt设计师的富文本框(QPlainTextEdit)就可以显示了. ⬇️⬅️ ⬆️⏬ ...
- 笑脸符号怎么存入mysql_让MySql支持Emoji表情存储
java后台报错,如下. aused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column ...
- 移动前端手机输入法自带emoji表情字符处理
原文链接 : https://blog.csdn.net/binjly/article/details/47321043 今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有 ...
- 禁止小程序输入Emoji表情符
前言: 在小程序中<textarea>刚开始是可以输入表情符号,但是后来因为输入表情会导致一个下拉bug,所以微信就默不作声的将这个共功能给关闭了. 但是我们在开发小程序的时候,有时会涉及 ...
- 微信小程序解码emoji表情
// 解码emoji表情 uncodeUtf16(str) {var reg = /\&#.*?;/g;var result = str.replace(reg, function(char) ...
- 微信小程序中使用emoji表情相关说明
本帖将聚合一些跟emoji表情有关的知识:前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外emoji字体表情库应该使用base64_encode编码,拿信息的时候b ...
最新文章
- 模块就是一个普通的python程序文件_Python-模块和包
- echart多个柱状图 设置y轴显示_Origin神教程:柱状图还是2D的吗?也没有误差棒?...
- echarts symbol 回调函数_凹函数和凸函数到底什么样?傻傻分不清楚
- 使VM的虚拟机内存超越物理内存的方法
- java请求接口示例_用示例解释Java接口
- 4修改初始值_Java基础语法 --4(连载)
- 前端-【学习心得】-事件委托方法
- SQLi LABS Less-22
- Codeforces Round #190 (Div. 1): E. Ciel and Gondolas(决策单调性DP+wqs二分)
- Altium Designer使用者,你想要一键出Gerber吗?
- android打飞机游戏、MVP句子迷App、悬浮窗、RxJava+Retrofit、加载动画、定制计划App等源码
- 《第五项修炼——学习型组织的艺术与实务》读后感
- Javascript匿名类
- 创业型公司,你要不要去?
- PCIE及南桥芯片组
- 回收站清空了怎么恢复?快来get实用方法!
- 取消卸载 Symantec 客户端需要密码提示
- 面试官:为啥要axios 的二次封装呢 及其使用是干啥的
- 7-139 手机话费 (10 分)
- My SQL 创建数据库
热门文章