如何在HTML中显示表情符号字符

我把“美味的食物表情符号”保存到数据库中,并在php json_encode中读取它显示“uD83D \ uDE0B”,但通常我们用一个<img />标签来replace它。 但是,通常我只是find这个格式'\ uE056'而不是'uD83D \ uDE0B',以取代pic E056.png。

我不知道如何获得“uD83D \ uDE0B”的照片。有人知道吗?

“uD83D \ uDE0B”和“\ uE056”之间的关系,都代表表情符号“品味美味的食物”?

Unicode字符U + 1F60B FACE SAVORING DELICIOUS FOOD是所谓的平面1字符,这意味着它的UTF-16编码forms由两个16位代码单元组成,即0xD83D 0xDE0B。 一般来说,平面1的字符会造成很大的问题,因为很多程序都不准备处理它们,很less有字体包含它们。

根据http://www.fileformat.info/info/unicode/char/1f60b/fontsupport.htm这个特殊的字符只存在于DejaVu字体和Symbola中,但是我使用的DejaVu版本不包含它&#x3002;

不用处理编码问题(这并不困难,但需要额外的信息),你可以使用字符引用&#x1f608; 在HTML中。 但是这并不能解决字体问题。 我不知道iPhone字体,但通常在网页浏览中,具有任何能够呈现字符的字体的计算机的可能性可能小于1%。 所以你可能需要使用可下载的字体。 使用图像显然更简单,更可靠。

U + E056是一个私人使用的密码,意思是任何人都可以和他的兄弟或他自己达成一致意见,而不用问别人的意思。 字体devise师可以为其分配任何字形。

重要提示:截至本文,唯一不会自动支持emojis的浏览器是chrome。

对于CHROME:根据您使用的服务器端语言,您应该能够find一个为您转换emojis的库。 我最近需要解决这个问题与PHP和使用这个库:

https://github.com/iamcal/php-emoji

创build者实质上创build了一个精灵,并根据表情符号的unicode来调整css。 它不是很漂亮,但幸运的是他/她为你做了所有的琐事。 如果你使用不同的语言,你应该能够find类似的东西。

我怎么把这些小盒子放入一个PHP文件?

与任何其他Unicode字符一样。 只需粘贴它们,并确保您保存了PHP文件并以UTF-8格式提供PHP页面。

当我把它放到一个PHP文件,它变成了问号,什么不是

那么你有一个编码问题。 用Unicode实际上可以看到的字符来解决这个问题,例如:????日本,然后担心表情符号。

你的PHP文件应该保存为UTF-8; 它产生的页面应该作为Content-Type: text/html;charset:UTF-8 (或类似的meta标签); MySQL数据库应该使用UTF-8归类来存储数据,PHP应该使用UTF-8与MySQL交谈。

然而。 即使正确地处理一切,个人电脑仍然不会显示表情符号。 那是因为:

他们没有包含这些字符的形状的字体

表情符号仍然完全没有标准化。 您发布的这些字符在Unicode私用区域,这意味着它们根本没有任何官方含义。

日本的每个networking使用不同的字符代码表示他们的表情符号,映射到PUA中的不同区域。 所以即使在另一部手机上,也可能不会显示正确的字符,除非您花时间为不同networking手动转换表情符号代码。 我猜你上面发布的是来自SoftBank(iPhone?)。

谷歌和苹果正在提出一个正在进行的build议,用来整理不同networking的表情符号,并在Unicode中给它们一个适当的标准化位置。 在此之前,让表情符号在整个networking上一致显示是一件不愉快的事情。 从标准化工作中查看angular色概览 ,看看你需要做多less转换。

上帝,我讨厌表情符号 所有这些无用的twee垃圾的痛苦。