让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表情啦(提醒一下,如果测试主题配置,请提前备份)


进群二维码


打赏
评论区
头像
    头像
    陌颜博客网
      

    看看,谢谢啦