请注意,本文编写于 178 天前,最后修改于 178 天前,其中某些信息可能已经过时。
注意
typecho 默认的数据库不支持emoji,所以需要通过一下方式修改数据库的编码。
如果你的数据库不支持emoji,但是在文章编辑中或者主题设置中使用了emoji会导致你的内容丢失!
解决方法
1、进入数据库,直接运行下列语句:
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;
2、修改数据库的配置文件
我们到网站的根目录下找到config.inc.php在文件中我们可以看到如下代码,然后我们将原来的utf8修改为 utf8mb4替换掉保存即可
$db->addServer(array (
'host' => localhost,
'user' => 'root',
'password' => 'root',
'charset' => 'utf8mb4', // 将原来的utf8修改为 utf8mb4
'port' => 3306,
'database' => ''
), Typecho_Db::READ | Typecho_Db::WRITE);