2013-10-22 137 views
0

我正在加载包含一些表示图释的UTF-8代码的JSON文件。 的JSON内容如下所示:从JSON文件显示UTF-8代码作为表情符号

"Studying! \uf4d6" 
"Winning \uf40e\uf3c1 #4mile" 
"Cheer me on \uf603 #werunamsterdam" 

这些UTF-8代码显示为在浏览器中的块。但是当我在Firefox中查看这个Unicode参考时,代码实际上被识别! (例如,UF4D6是一本书)

如何从我的json转换代码以便浏览器可以显示它们?

+0

FF对您的网站编码有何看法?你用什么脚本语言? PHP? –

+0

嗯,没什么。它只是像你在这里看到的那样显示代码。 (换句话说,它只是显示'\ uf4d6'而不是表情符号)。 我可能不使用正确的html标签? 测试我的json内容\ uf4d6 – Kokodoko

+0

要在HTML中显示unicode字符,您必须像这样转义它们: –

回答

1

从\ uE000到\ uF8FF的代码点位于私人使用区域,因此没有任何标准字形与它们相关联。

但是,您可以使用适当的图标在这些代码点创建您自己的字体。使用在线工具如IcoMoon可以很容易地完成此操作。或者,使用字符串替换例程将这些字符与合适的标记交换(例如,用替换为<img src="/icons/book.png" alt="[Book]" />

+0

谢谢!我仍然想知道为什么Firefox能够显示几乎所有内容,请参阅此页面:http://apps.timwhitlock.info/emoji/tables/unicode – Kokodoko

1

这些表情符号被编码为Unicode中定义的常规字符,即它们与字母“A”或“%”没有区别。所有你需要的是一个字体,它们具有这些“字符”的字形。由于不是每个人都可以安装这样的字体(显然你没有),所以如果你想获得最大的兼容性,大多数语言的库都会用这些字符替换等价的图像。 Google适合您的需求。

+0

感谢您的字体提示,这可能有助于显示Arial不支持的字符。 Firefox似乎自动执行此操作,因为它几乎显示每个表情符号,即使该字体设置为Arial。 但我很困惑如何将“\ uf4d6”转换为正确的html标签。现在浏览器只显示“\ uf4d6”。 – Kokodoko