【问题标题】:Why do some emojis only return the code? utf8mb4为什么有些表情符号只返回代码? utf8mb4
【发布时间】:2018-09-12 22:11:46
【问题描述】:

我正在使用 utf8mb4 字符集将消息发布数据保存在我的数据库中。

这适用于绝大多数表情符号,可以正确保存和呈现它们,但有些只返回代码。

喜欢这个:

????

以下是:https://emojipedia.org/nauseated-face/

我可以做些什么来让这些缺失的部分起作用吗?

服务器类型:MariaDB

服务器版本:10.0.32-MariaDB-0+deb8u1 - (Debian)

表格字符集:utf8mb4

列排序规则:utf8mb4_unicode_ci

数据库连接声明正确:

$db = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8mb4;db_collat=utf8mb4_unicode_ci",
               $dbuser, $dbpass);

【问题讨论】:

  • 我可以看到 ???? 在这篇文章中很好。我假设如果您只是看到它的代码,那是因为您当前的字体不支持该字符。

标签: mysql mariadb emoji utf8mb4


【解决方案1】:

没有其他人对此做出反应,所以我将自己跟进。

问题实际上与它在数据库中的存储方式无关。

它是基于浏览器的。事实证明,并非所有浏览器都可以显示所有表情符号 - 我不知道!

例如,我上面提到的表情符号在 Chrome 和 Safari 上呈现,但在 Firefox 上不呈现。

我希望它可以节省其他人我试图找出问题所在的时间。

【讨论】:

  • 在 Firefox 中对我来说也很好。您在 Firefox 设置中将默认字体设置为什么?它们是否与 Chrome 和 Safari 中的默认字体相同?我在所有浏览器中都使用 DejaVu 字体,您的示例没有问题 (dejavu-fonts.github.io)
  • 我没有在任何浏览器中设置任何字体。老实说,甚至不知道这是一种选择,当然也不应该期望您的普通网络用户也知道这一点。不过谢谢。
猜你喜欢
  • 2018-04-14
  • 2016-11-04
  • 2012-04-26
  • 2020-08-15
  • 2016-12-06
  • 2016-07-02
  • 1970-01-01
  • 2014-09-30
  • 2023-03-05
相关资源
最近更新 更多