Typecho默认使用utf-8编码,utf-8使用3个字节进行存储,而emoji有4个字节,因此将utf-8转换为utf8mb4即可解决
注意:MySQL的版本必须为 v5.5.3或更高
1. 执行以下SQL:
--其实只需要修改评论数据表 typecho_comments 和文章数据表 typecho_contents 两表中的3个字段即可
ALTER TABLE `typecho`.`typecho_comments`
MODIFY COLUMN `text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL AFTER `agent`;
ALTER TABLE `typecho`.`typecho_contents`
MODIFY COLUMN `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL AFTER `cid`,
MODIFY COLUMN `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL AFTER `modified`;
2. 修改 config.inc.php
:
$db->addServer(array (
'host' => 'localhost',
'user' => 'username',
'password' => 'password',
'charset' => 'utf8mb4', //将原本的utf8修改为utf8mb4
'port' => '3306',
'database' => 'typecho',
), Typecho_Db::READ | Typecho_Db::WRITE);
7 条评论
意象选取精妙,营造出空灵意境。
建议多用口语化表达,拉近与读者距离。
这是一篇佳作,无论是从内容、语言还是结构上,都堪称完美。
666
我来咯!