最近编辑AI生成的带有emoji表情的文章,想在typecho博客发布时,发现后台总是超时后文章未能保存,通过检索发现是数据库的问题。
typecho是一个非常精简的博客,只有几张数据表,而且是utf-8
编码的。而emoji需要使用utf8mb4
(utf8mb4编码只有在PHP5.5以后才支持)。我们可以通过下面两个步骤可以轻松让typecho支持emoji表情。
修改数据库编码
进入PhpMyadmin,选择您的typecho数据库,执行如下语句(可以直接复制)
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;
注:如有装了其他插件,生成了其他表可以一并修改,但是不修改也没事。如果表的名字自己有更换过,注意需要替换表名后再执行替换。
执行后显示如下
修改数据库配置文件
在typecho的网站根目录找到config.inc.php
这个文件,打开找到'charset' => 'utf-8'
这一行,修改为
'charset' => 'utf8mb4',
经过上述步骤,博客就支持emoji啦。
测试一下🔚
如需帮助,请留言