Typecho默认不支持emoji表情,由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,不过utf8mb4编码在PHP5.5以后才支持

这是一个以PHPMyAdmin为例的教程


修改数据库编码

在PhpMyadmin中选择typecho数据库,操作-->排序规则-->选择utf8mb4_unicode_ci然后执行。

修改表编码

选中数据库-->SQL-->粘贴以下指令-->运行

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;

修改数据库配置文件config.inc.php

回到站点文件管理界面,在根目录找到config.inc.php,浏览器Ctrl+F搜charset找到这个:


把原先的

'charset'   =>  'utf8', 

换成

'charset'   =>  'utf8mb4', 

到这一步,编码就转换完成了,我们可以测试一下:?