手机输入法emoji、颜文字存储
很多移动端手机输入法都带有emoji和颜文字,丰富了用户表达,但也苦逼了我们。我们做的是一个移动App,可以与相互文字交流。前端用的是HTML5。。。。那一套。发现这一套对表情包的显示没啥毛病,以为解决表情包十分简单。哎呀。。上了输入发的当。。。数据发送到后台,然后存储在转发回来。。崩溃老,乱编。一两天的百度,发现好多网友提供的都是编码编码解决。因为表情包用的是unicode的编码,我们后台是utf-8。先说明一下,后台是用java struts2 tomcat这一套。。表情包中的emoji很好解决,找到了编码表,网友们也提供了编码方法。这些编码的方法的特点是将unicode遍成后台可识别的字符串如“&#。。。。”,如果只是emoji可以用这一种方法。
网友提供的方法
function utf16toEntities(str) {
var patt=/[\ud800-\udbff][\udc00-\udfff]/g; // 检测utf16字符正则
str = str.replace(patt, function(char){
var H, L, code;
if (char.length===2) {
H = char.charCodeAt(0); // 取出高位
L = char.charCodeAt(1); // 取出低位
code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 转换算法
return "&#" + code + ";";
} else {
return char;
}
});
return str;
}
但特别提醒一下,该方法是针对32位unicode编码设计,有部分是emoji是16位编码的,找去来,弄个表检索就好。
弄出emoji以为就结束老,颜文字呀!颜文字是用多种语言拼和起的,苦逼老吧,还是要解决unicode存储的问题。数据库用的SqlSever,又痛苦老,找不到unicode....。找到unicode又怎样!看看这些。。。
struts2 已被设置
web 已被设置
html 已被设置
还有汤姆猫,你改,你想翻天吗?
纠结了几天,想了各种方法,自己设计编码,解码。。。然而,js不能对内存进行操作。。都是白忙活。
山重水复疑无路,柳暗花明又一村。。。
解决的办法尽是如此简单。。
其实问题就出在存储上。。。
你要明白一点是java String也是用的unicode,网页也是用的unicode。。只是数据存储这里和给我们显示出来的时候是utf-8,其实内存中它存储的还是页面传输的原始数据,只要我们存储这个原始数据岂不是大功告成。。。
我用的SQLSever2012 测试成功。。
sql 中 varchar =>byte[] 我们获取到String的unicode编码数组,将其存入即可,读出来的时候在将数组以unicode编码写入String。
存。。。
String sql="INSERT INTO [ComRecode] (datetime,groupid,words,userid) VALUES(?,?,?,?)";
try {
PreparedStatement pre=connection.prepareStatement(sql);
byte buf[]=null;
buf=r.getWords().getBytes("UnicodeBigUnmarked"); //就这里比较关键
pre.setString(1, r.getDatetime());
pre.setInt(2, r.getGroupid());
pre.setBytes(3, buf);
pre.setString(4, r.getPhone());
pre.executeUpdate();
pre.clearParameters();
//pre.setBytes(parameterIndex, x);
} catch (SQLException | UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
取。。。。
ResultSet re=state.executeQuery(sql);
while(re.next())
{
Record r=new Record();
r.setDatetime(ToolTime.df2.format(new Date(re.getTimestamp(1).getTime()))); //就这里关键
r.setWords(new String(re.getBytes(2),"UnicodeBigUnmarked"));
r.setPhone(re.getString(3));
r.setGroupid(groupid);
recodes.add(r);
}
其他的模式都没改。。还是一样的用struts2的action,用json..其他一点不动。
结果:
当然。。。数据库你们将看到很多乱码,这个就无所谓老
进过一天的测试补一点。。。存储字节码的时候发现最后一个是大于0x7f无法存入,你们可以试试最后一个是‘的’的情况。。如果是乱码,可能和我遇到老同样的问题,解决办法就是末尾插入读出去掉一个小于0x080的数。。
手机输入法emoji、颜文字存储相关推荐
- 关于微信表情及输入法emoji显示问题解决方案
1.保存数据库报错,数据库字符集修改为mb4,这个网上很多文章说过了 2.微信表情内容为:[微笑] /::) 中文和英文两种 这个用字符串替换为图片,代码地址:https://github.com ...
- 移动前端手机输入法自带emoji表情字符处理
原文链接 : https://blog.csdn.net/binjly/article/details/47321043 今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有 ...
- 内存占用小的手机输入法_华为手机输入法中6个超实用的小技巧,你没用过就太可惜了!...
阅读本文前,请您先点击上面蓝色字体"财经史"再点击"关注",这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注. 想必大家对华为手 ...
- 百度手机输入法for android16,百度手机输入法oppo版
百度手机输入法oppo版是一款基于OPPO手机开发的输入法,在百度手机输入法oppo版中小伙伴可以享受到一系列非常快捷的输入体验,以及省流量的输入模式,其中百度手机输入法oppo版专门做了省电优化哦, ...
- 华为linux输入法,华为手机输入法隐藏7大不为人知的功能,非常规操作,实用又强大!...
原标题:华为手机输入法隐藏7大不为人知的功能,非常规操作,实用又强大! 你只用华为手机输入法打字?这些隐藏的黑科技功能,如果你还不知道,那就实在是太可惜了,这些非常规操作实用又强大!一起来了解一下吧. ...
- 说说各种手机输入法的体验
手机是华为荣耀8,屏幕5.2寸. 前面说明:由于我经常对各种手机输入法的小毛病不能容忍,并且常常会在9宫格和26键之间切换,故而时常会换各种输入法.目前我手机上有四种输入法,下面一一来说一下各个输入法 ...
- android原生输入法皮肤,duang_精选布局_触屏皮肤_皮肤布局_百度手机输入法
皮肤布局小贴士: 说明: 该皮肤布局仅适用于2.1及以上版本百度手机输入法,不适用于2.0版. 安装前请注意该皮肤布局所适用的手机平台, 如与您的手机平台不符合,使用后可能出现皮肤布局模糊或者过大的情 ...
- android 手势输入法,搜狗手机输入法Android 4.6版新增手势操作
手势操作,让输入更随心 相信绝大多数人都有过这样的经历,在和朋友聊微信.QQ或者互发短信的时候,想要删除或修改一句中的某个字,但移动光标怎么都不能准确移动到那个字的后面(英文字更小就更难点,坑爹啊), ...
- 移动端,input输入框被手机输入法解决方案
移动端,input输入框被手机输入法解决方案 参考文章: (1)移动端,input输入框被手机输入法解决方案 (2)https://www.cnblogs.com/liuhappy/p/8809149 ...
最新文章
- php nginx配置404页面,Nginx实现404页面的几种方法
- 配置linux系统ip,Linux系统IP地址配置
- Q-学习,马克尔决策过程:强化学习
- Page.ClientScript.RegisterArrayDeclaration
- 日均保护原创超6万篇,腾讯“至信链”助企鹅号作者一键维权
- 牛客2022年愚人节比赛,10题做法完整版
- Treap树堆(bzoj 3224: Tyvj 1728 普通平衡树)
- 商业智能BI的数据价值
- MSP432的CCS工程配置以及使用J-Link下载程序
- 最全面详细讲解Oracle入门(新手必看)
- 网站三级域名是什么样?
- ssh登陆忽略known_hosts文件(ssh 登陆提示Host key verification failed.)
- 热点综述 | 纵向微生物组研究的统计方法总结
- 在.NET实现邮件收发功能(包含源代码)
- 人脸识别API/SDK 汇总(转)
- Win11自带屏幕录制怎么打开?Win11自带录屏的使用方法
- 售后服务的基本流程有哪些
- 目前最新《智能社石川 Nodejs+WebSocket+Html5》
- 【C语言】【unix c】将自定义转换为环境变量
- 关于爱情的几个寓言故事