公司项目有用到emoji表情,然而发送到服务器后获取显示为问号,搜了一下,发现emoji字符是4字节的utf-16(utf-16有2字节和4字节两种编码),一般数据库才用的utf-8,并且最大只允许3字节的字符。通常只需要更改数据库编码方式,而公司用的数据库是oracle用的gbk.一旦更改原有数据可能就会出现乱码。

找了好久。终于找个一个最简单有效的方法。

1. 把含有表情的字符串进行编码后再发送给服务端:

NSString *text = [self.textView.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

注意: 这里如果你输入的字符串中已经含有一些已转义的特殊符号: % @ $等时, 上面的方法就不会再对这些特殊的进行转码, 可以使用下面的方法

 NSString *text = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self.textView.text, (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]", NULL, kCFStringEncodingUTF8));

2.将表情字段解码

NSString *content = [content stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

更多资料:

http://www.jianshu.com/p/3bfeb201794a

http://blog.csdn.net/binjly/article/details/47321043

http://www.jianshu.com/p/bb6b9819af2c

http://www.cnblogs.com/zhanghuanan/p/5576826.html

emoji表情显示问号?相关推荐

  1. iphone表情显示问号_如何在iPhone上使用表情符号

    iphone表情显示问号 Emoji have been taking the texting world by storm for the last couple of years, but if ...

  2. iphone表情显示问号_如何在iPhone上搜索特定的表情符号

    iphone表情显示问号 Most of us use emoji on our iPhone, but until recently finding the right one has been t ...

  3. android显示ios emoji表情符号,IM 使用的 Emoji 表情显示

    估计很多人都看到输入法键盘中使用的输入表情的Emoji. 键盘emoji.png Emoji.png Emoji使用基础 可以看到在不同的Native Android IOS系统中对应的emoji码显 ...

  4. ios emjoi java_前端App开发,实际工作中三端(android,ios,前端H5)emoji表情显示解决方案...

    想起最近开发APP的时候,产品提的一个需求,用户的帖子正文还有评论内容里,要能够显示emoji表情,因为我们这款app是混合开发的,APP里的发贴,发评论是原生做的(android和ios),但帖子详 ...

  5. Java中的emoji表情

    在之前的一篇博文中,我写了之前自己遇到的一个emoji表情显示问题,后来通过转码的方式解决了.不过后来我觉得,自己对这个问题的研究不够深入,于是专门写了这篇文章来记录. 1.mysql数据库可以直接存 ...

  6. emoji无法显示_解决应用中无法存储及显示Emoji表情的问题

    一.问题描述,公司开发的应用中,有些内容是用户可以自己输入的,比如文章的评论,客户模块的客户姓名,客户备注等等,这些内容用户都是可以自己随意输入的,在使用的过程中发现,当客户输入emoji表情的时候, ...

  7. 【Android】显示Emoji表情字符

    一.下载AndroidEmoji.ttf字体 地址1:Github Android Platform 地址2:AndroidEmoji.ttf.zip 二.使用 2.1 将字体拷贝到assets/fo ...

  8. qt icon如何显示gif_收集Qt支持的emoji表情-第五弹

    收集一些Qt富文本控件支持的emoji表情. 下列是关于符号主题的表情. 使用 Qt版本5.12.1 直接复制表情到Qt设计师的富文本框(QPlainTextEdit)就可以显示了. ⬇️⬅️ ⬆️⏬ ...

  9. [html] 如何在页面上显示Emoji表情?

    [html] 如何在页面上显示Emoji表情? 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码. ...

最新文章

  1. ggplot2笔记3:工具箱——误差线、加权数、展示数据分布
  2. SaltStack实战之数据系统-Grains
  3. 散度、旋度与 Laplacian
  4. 122. 买卖股票的最佳时机 II008(贪心算法+思路)
  5. react获取id_解决React应用界面开发常见痛点(一)业务逻辑与UI分离
  6. 微软希望每个人有自己的人工智能朋友
  7. JAVA实现数学函数图像
  8. .net web页面嵌入海康视频(winform)
  9. 关于计算机的英语演讲ppt模板,英语演讲ppt模板
  10. javax.validation校验整理
  11. 数控编程也是c语言吗,学数控编程需要使用个人电脑吗
  12. Switch新机发布引全球吐槽,老任给牙膏厂上了一课,这波是等等党输了
  13. 清微智能CTO欧阳鹏:架构创新是通往高性能计算芯片必由之路|量子位·视点分享回顾...
  14. 华为TE10一体化视频会议终端
  15. [统计学笔记] (十)一元线性回归
  16. 代码阅读方法(自己总结地 厚厚)
  17. 【读书笔记】explain详细解释
  18. 5s换脸吴彦祖!爆红AI应用ZAO仍面临技术困境,你的“脸”被授权了吗?
  19. 如何写面向互联网公司的求职简历
  20. qq号码凶吉 php,QQ号码测吉凶

热门文章

  1. h5页面ios验证码无法自动回填到键盘问题
  2. 服务器要删除文件访问被拒绝,Win7系统删除文件提示文件访问被拒绝怎么办
  3. 通信原理 | 调制的概念和幅度调制
  4. Hiberate 级联操作(cascade,many-to-one,one-to-many,many-to-many)
  5. 《涂抹MySQL》目录
  6. 【机器学习个人笔记】part3——用sklearn实现多元线性回归
  7. 云计算2020,百度智能云加速推进AI与产业深度融合
  8. 关于JMeter的培训总结
  9. 城市信息模型(CIM)与人工智能技术如何有效结合?
  10. Linux下安装Python2.7