首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS5中将旧的表情符号编码转换为最新的编码?

如何在iOS5中将旧的表情符号编码转换为最新的编码?
EN

Stack Overflow用户
提问于 2011-10-22 09:09:34
回答 2查看 9.2K关注 0票数 6

不幸的是,在iOS5最终发布后,我从我的用户那里得到了他们无法登录的报告。

因为三个名字都有表情符号,所以苹果改变了表情符号的编码。

那么用户名包含一个旧版本的emoji,我如何将它们转换成新的编码呢?

谢谢!

具体地说:一个表情符号“老虎”,在iOS5中是"\U0001f42f“,在早期的iOS版本中是"\ue050”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-22 21:36:59

iOS 5和OS X 10.7 (Lion)对表情符号使用统一的Unicode6.0标准代码点。

SoftBank iPhones上的iOS 4在Unicode私有使用区域中使用了一组非官方代码点,因此与任何其他系统都不兼容。要将此格式转换为正确的Unicode 6.0字符,您需要在提交当前数据和所有新表单数据时,对所有当前数据和所有新表单数据运行一个从Softbank code到Unified的大型查询表。你可能也想在这一点上进行Unicode标准化,这样就可以。全角字母与普通ASCII字母匹配。

例如,从一个为PHP执行表情符号转换任务的库中查看this table

但是用户名中的表情符号呢?

票数 2
EN

Stack Overflow用户

发布于 2012-06-04 08:08:07

我也遇到了同样的问题,经过几个小时的挖掘,终于找到了适合我的this answer

如果您使用rails作为服务器,这就是您需要做的全部工作。不需要在ios/xcode中做任何事情,只需将NSString传递给服务器,而不做任何UTF8/16编码。

Postegre正确地存储了代码,只是当您将json响应发送回ios客户端时,假设您确实呈现了json:@message,那么json编码就有问题。

您可以通过在控制台测试= {"smiley"=>"u{1f604}"} test.to_json来测试您的rails控制台中是否存在json编码问题

如果它打印出"{\"smiley\":\"\uf604\"}“(注意1丢失了),那么您就遇到了这个问题。链接中的补丁将会修复它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7856775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档