typecho 并不支持
emoji 表情,提交带有 emoji 表情的时候,会提示
Data query error, 百度搜索了一番,发现因为
typecho 安装后的数据库是
utf8, 并不是
utf8mb4,所以只需要修改下数据表的字符编码就行了。
注意:utf8mb4 编码只有在
PHP5.5 以后才支持。
首先要登陆你的 PHPMyadmin 然后找到安装
typecho 的数据库,选择您的数据库,操作 -> 整理 -> 选择
utf8mb4_unicode_c。
直接运行以下 sql 语句,进行编码转换
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; |
网站根目录数据库配置文件 config.inc.php
$db->addServer(array ( | |
'host' => localhost, | |
'user' => 'user', | |
'password' => 'password', | |
'charset' => 'utf8mb4', //修改这一行将uft8修改为utf8mb4,注意:只改这里就可以,其他的地方可能和你的不一样,因为数据库信息不一样。 | |
'port' => 3306, | |
'database' => 'yourdatabase' | |
), Typecho_Db::READ | Typecho_Db::WRITE); |