typecho Database Query Error

typecho
1339 1
刚才发布文章出现 Database Query Error,原因是 Typecho 在初始化数据库的时候,
选用了 UTF-8 的编码,而在 MySQL 中,UTF-8 只支持最多 3 个字节,
而 emoji 是 4 个字节,所以出现该问题。如果嫌麻烦可以直接删掉 emoji 就可以成功发表了。

上传附件失败
问题:上传所有附件都显示上传失败。
解决方案:将 typecho/usr/uploads/ 文件夹权限递归修改为 777
emoij
问题:只要文章中添加了 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',
开启 Typecho 的 Debug 模式
在 Typecho 配置文件 config.inc.php 中添加下面的代码:

/** 开启Debug模式 */
define("__TYPECHO_DEBUG__",true); 
最后更新 2021-12-31
评论 ( 1 )
OωO
隐私评论
  1. jiakai

    感谢指点,手动安装的时候选了utf8的编码,文章中包含表情就出现了这个错误,修正了数据库中表的编码和typecho的配置文件后,已经恢复正常了。谢谢。❤️❤️❤️

    2年前美国回复