首页 > 解决方案 > 数据库上显示的表情符号未正确显示

问题描述

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

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

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

我尝试使用 utf8_decode 和 utf8_encode,不工作...

标签: phpdatabaseemoji

解决方案


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

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

ALTER TABLE YourTable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin

推荐阅读