Typecho 开启 emoji 表情支持功能
前言
其实之前看到过类似的文章,但是我emoji用的不多,没有修改自己的网站数据库.
然后在前2篇文章中,出现过emoji的文章,后面全都丢失了!!!?
正文
通过修改数据库编码格式使得Typecho支持emoji
1. 整理数据库编码
- 进入
PHPmyadmin
,选择Typecho所使用的数据库 - 操作 --> 整理 --> 选择
utf8mb4_unicode_ci
2. 运行sql语句修改数据库编码
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;
3. 修改数据库配置文件
- 网站根目录数据库配置文件config.inc.php
- 大概在最后边
/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
...
'charset' => 'utf8mb4', // 修改编码为 utf8mb4
...
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);
讲的不错,白嫖了
![](https://blog.tominysun.com/usr/themes/default-like/lib/emoji/14.png)
欢迎来访!
但是,你的网址...?
注意身体啊...
更改所有表序列要不用选上
emm...其实每一行sql代码只是把对应的数据表修改好,也不一定非要用sql代码。
typecho的数据结构应该没有大的变化,你也可以选择把所有的表都改成对应的编码格式。
至于'更改所有表序列'嘛,我还真没碰到过。本文只需要更改数据表的编码。(与表序列没啥关系?)