typecho 如何支持emoji

typecho 默认的数据库不支持emoji,所以需要通过一下方式修改数据库的编码。
如果你的数据库不支持emoji,但是在文章编辑中或者主题设置中使用了emoji会导致你的内容丢失!

数据库表编码修改

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;

执行上述sql语句来修改表的编码,如果用的是宝塔面板和MySQL数据库,一般有可视化的phpmyadmin界面,可以在phpmyadmin的控制台里面执行上面的语句,如果是服务器可以在服务器上连接mysql后执行。

配置网站

最后将 Typecho 目录下的config.inc.php 配置文件中数据库定义参数中的 charset 为 utf8mb4

 $db->addServer(array (
  'host'      =>  localhost, 
  'user'      =>  'root',
  'password'  =>  'root',
  'charset'   =>  'utf8mb4', //修改这一行
  'port'      =>  3306,
  'database'  =>  ''
), Typecho_Db::READ | Typecho_Db::WRITE);

网上找的方法果然成功了

B0ae个人成长计划-让,进步发生
----利她,有价值,不打扰----

Comments | 2 条评论
  • 橙子CY

    之前就直接使用的utf8mb4,不过现在面板应该都默认创建utf8mb4了

    • Ayiya1997

      @橙子CY 说来惭愧弄好emojo就把博客换成wordpress了

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息