typecho Database Query Error

typecho
1780 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
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • (。•ˇ‸ˇ•。)
  • 蛆音娘
  • 阿鲁
  • 泡泡
  • 颜文字
隐私评论
  1. jiakai

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

    3年前美国回复