让Typecho支持emoji表情,修改数据库编码为utf8mb4
typecho默认编码改为utf8mb4
- 我们正常在typecho博客编写文章时会发现不支持emoji表情,(比如💘😜🦸这些符号,强制保存还会造成数据丢失,很是不解,这是因为typecho1.1的数据库类型默认不支持emoji编码造成的
- 在MySQL中,UTF-8只支持最多3个字节,而emoji是4个字节。所以如果你不修改数据库的话,typecho是无法支持Emoji表情的。
- 所以我们要手动到数据库进行修改编码,改为utf8mb4即可(请注意php版本在5.6或以上)
教程开始
步骤一
进入PhpMyadmin,选择对应的数据库,选择操作——排序规则——选择utf8mb4_unicode_ci并执行。
步骤二
选择SQL-复制下面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;
如果有别的表,比如SEO插件、蜘蛛访问插件等,它就会自动创建一个 links 表,这里的话也是建议一起改了。
另外,如果安装时改过前缀,也只需对以上语句做出相应修改。
步骤三
最后在网站根目录config.inc.php配置文件中找到以下代码:
'charset' => 'utf8',
将utf8修改为utf8mb4即可,返回测试一下已经完美支持emoji表情啦(提醒一下,如果测试主题配置,请提前备份)
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »