最近碰到好几个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