我将“品尝美食表情符号”的表情保存到数据库中,并在php中使用json_encode读取它,显示出“uD83D\uDE0B”。但通常我们会用一个<img />标签来替换它。
然而,通常我只找到这种格式'\uE056'而不是"uD83D\uDE0B",以便用图片E056.png来替换它。
我不知道如何根据"uD83D\uDE0B"获取图片。有人知道吗?
"uD83D\uDE0B"和"\uE056"之间的关系是什么,它们都代表"品尝美食"的表情符号吗?
😈
。但这并不能解决字体问题。我不知道iPhone字体情况如何,但一般来说,在Web浏览中,计算机具有渲染该字符所需的任何字体的可能性可能小于1%。因此,您可能需要使用可下载字体。使用图像显然更简单,而且通常更可靠。
U+E056是私有使用代码点,这意味着任何人都可以与自己或他的兄弟就其含义达成协议,而无需征求其他人的意见。字体设计师可以为其分配任何字形。
重要提示:截至本文发布时,唯一不自动支持表情符号的浏览器是Chrome。
对于Chrome用户: 根据您使用的服务器端语言,您应该能够找到一个将表情符号转换为可识别字符的库。最近我需要用php解决这个问题,使用了以下库:
https://github.com/iamcal/php-emoji
创建者基本上创建了一个精灵,并根据表情符号的Unicode调整了css。虽然它不太好看,但幸运的是他/她已经为您做好了所有繁重的工作。如果您使用的是其他语言,您应该能够找到类似的东西。
我该如何将这些小方块放入php文件中?
和其他Unicode字符一样。只需粘贴它们,并确保您将PHP文件保存为UTF-8并将PHP页面作为UTF-8提供。
当我将其放入php文件中时,它变成了问号和其他字符。
那么您就有一个编码问题。首先使用您可以正确查看的Unicode字符(例如ąαд™日本)解决它,然后再担心表情符号。
您的PHP文件应保存为UTF-8;它生成的页面应以Content-Type:text / html; charset:UTF-8
(或类似的元标记)提供;MySQL数据库应使用UTF-8排序规则存储数据,并且PHP应使用UTF-8与MySQL通信。
但是,即使像这样正确处理所有内容,PC仍然无法显示表情符号。这是因为:
它们没有包含这些字符形状的字体,以及
表情符号仍然完全不标准化。您发布的这些字符位于Unicode专用区域,这意味着它们根本没有任何官方含义。
日本的每个网络都使用不同的字符代码来映射PUA中的不同区域的表情符号。因此,即使在另一部手机上,除非您花费大量时间手动转换不同网络的表情符号代码,否则它可能不会显示正确的字符。我猜你上面发布的是来自SoftBank(iPhone?)。
谷歌和苹果正在进行一个提案,汇总不同网络的表情符号,并为它们在Unicode中提供适当的标准化位置。在那之前,让表情符号在各个网络上显示一致是一项令人不愉快的任务。请参阅字符概述以了解需要进行多少转换。
天啊,我讨厌表情符号。所有这些痛苦只为了一堆无用的俏皮话。