让Typecho支持Emoji表情
in Skill with 257 Views

让Typecho支持Emoji表情

in Skill with 258 Views

不知道大家发现没有,在手机端评论typecho博客时,往往你会使用一两个Emoji表情,但是评论完发现表情并没有出现,而是显示一个小方块。其实Typecho默认是不支持emoji表情的,主要是由于数据库编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,不过utf8mb4编码在PHP5.5以后才支持。

Emoji是一种在Unicode位于u1F601-u1F64F区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在MySQL中,UTF-8只支持最多3个字节,而emoji是4个字节。这就导致如果你不修改数据库的话,typecho是无法支持Emoji表情的。

当然好消息是utf8mb4其实是完全兼容utf-8,修改后,不会影响现有数据及后期数据,下面开始教程吧。

现数据库编码修改

进入PhpMyadmin,选择数据库,操作——整理——选择utf8mb4_unicode_ci

现数据库表编码修改

alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;

在语句中运行以上sql语句代码。

最后一步

打开网站根目录config.inc.php配置文件找到以下代码:

  'host'      =>  localhost,
  'user'      =>  'youruser',
  'password'  =>  'yourpassword',
  'charset'   =>  'utf8mb4', //将utf8修改为utf8mb4

最后,打开你的网站文章,评论试试吧。

如果本文对您有用的话,欢迎在下方留言评论哦~
发表评论
选择表情