最近碰到好几个Typecho主题都支持插入emoji表情,然后自己尝试了一下结果导致所有主题配置都没了...看了一下主题配置说明,才发现需要将MySQL数据库的编码修改为utf8mb4。

此方式仅支持Typecho博客程序,其他程序请自行研究。

修改方式:

如果你使用的是宝塔建站,直接进入数据库点击操作,修改所有数据表及列的数据库排序规则即可。

或者直接执行如下SQL:

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

修改完数据库排序规则之后,还需要在网站根目录修改 config.inc.php配置文件。

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
  ...
  'charset' => 'utf8mb4',  // 将原来的utf8修改为 utf8mb4
  ...
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

配置文件修改后即可支持Emoji表情的插入使用了。

Emoji表情复制使用:http://www.fhdq.net/emoji.html

End
最后修改:2022 年 03 月 10 日
如果觉得我的文章不错,请随手点赞~