开启 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例子显示
💁👌🎍😍
HIiiiiiiiiii!!⌇●﹏●⌇
I'm new here! Just wondering what some of this does!
こんにちは!私はここで新しいです!これは何のためにあるのだろうか?
୧(๑•̀⌄•́๑)૭
哈哈哈
OωO