刚才在写的时候发现插入表情发布会报数据库错误就查了一下,并进行了修改。
要想数据库支持Emoji表情,就得使用utf8mb4编码来支持,于是我们需要修改已有数据库的编码格式,好消息是utf8mb4是utf-8的超集,完全兼容utf-8,修改后,不会影响现有数据。
使用phpAdmin或命令行连接MySQL数据库:
mysql -u root -p
切换到typecho的数据库
use 数据库名;
执行以下sql语句,修改typecho数据库中表的编码格式为utf8mb4
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;
如果是PHPmyadmin可以直接进入图像界面修改编码格式
nano config.inc.php
修改 charset
的值为 utf8mb4
。
'charset' => 'utf8mb4', # 修改编码为 utf8mb4
保存退出
这样就成功为typecho开启了Emoji支持。
测试