【问题标题】:Emoji displayed on database not displayed correctly数据库上显示的表情符号未正确显示
【发布时间】:2020-05-10 00:02:41
【问题描述】:

我在我的帖子标题的数据库中存储了表情符号,它们显示正确,像这样 ???? 数据库字段编码如下:UTF8-Unicode 排序规则说:utf8mb4_unicode_ci

当我显示 post_title 时,我没有正确看到数据库中的表情符号。

使用脚本我想通过这样做来爆炸标题,但它不起作用 $post_title_tab = explode("????", $post_title);

我用 utf8_decode 和 utf8_encode 试过了,不工作...

【问题讨论】:

标签: php database emoji


【解决方案1】:

您的数据库字符集可能设置不正确,为了存储表情符号(以及数据库中的其他 4 字节字符,例如 mysql,您需要使用字符集 utf8mb4)。

如果您使用 mysql 运行以下查询,它会将您的表的字符集转换为表情符号所需的字符集

ALTER TABLE YourTable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin

【讨论】:

  • 事实上编码说:UTF-8 Unicode 而排序规则说:utf8mb4_unicode_ci
猜你喜欢
  • 2016-10-05
  • 1970-01-01
  • 2019-11-13
  • 2019-01-24
  • 2021-11-08
  • 2017-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多