日期: 2023年 07 日 28 日
时间: 13 点 36 分
Tags:
折腾
问题
刚才发布文章出现 Database Query Error,原因是 Typecho 在初始化数据库的时候,选用了 UTF-8 的编码,而在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节,所以出现该问题。如果嫌麻烦可以直接删掉 emoji 就可以成功发表了。
只要文章中添加了 emoij,保存文章就会显示 Database Query Error
解决方案
1、修改数据库 charset 为 utfmd4:
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;
2、修改 Typecho 配置文件 config.inc.php
中数据库定义参数中的 charset
为 utf8mb4
'charset' => 'utf8mb4',