开启 Typecho 支持 emoji 表情

开启 Typecho 支持 emoji 表情

前言

发现 typecho 并不支持 emoji 表情,提交带有 emoji 表情的时候,会提示 Data query error, 因为 typecho 安装后的数据库是 utf8, 并不是 utf8mb4,所以只需要修改下数据表的字符编码就行了。

修改数据库储存编码

登录服务器执行 mysql 操作,切换到 typecho 的数据库。

mysql -uroot -p 
show databases;
use typecho; // 名称可能不一样
show tables;

执行以下 sql 语句,修改数据库中表的编码格式 utf8mb4,如果还有其他表,请一同修改。

格式:alter table 表名称 convert to character set utf8mb4 collate utf8mb4_general_ci;
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;

修改 config.inc.php 配置

进入到typecho网站根目录,找到 config.inc.php 文件,跳转到约60行左右,好像都是在文件底部,修改:

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
  ...
  'charset' => 'utf8mb4',  # 修改编码为 utf8mb4
  ...
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

修改后保存文件即可。

emoji例子显示

💁👌🎍😍

参考

https://www.maxoyed.com/archives/20/

最后修改:2019 年 10 月 03 日 09 : 32 PM

2 条评论

  1. Ryu

    👌

  2. Ryu

    OωO

发表评论