转载自typecho Database Query Error
刚才发布文章出现 Database Query Error
,Google 了问题,原因是 Typecho 在初始化数据库的时候,选用了 UTF-8 的编码,而在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节,所以出现该问题。如果嫌麻烦可以直接删掉 emoji 就可以成功发表了。
注意:下面是三个独立问题的解决方案记录,请不要混淆
上传附件失败
问题:上传所有附件都显示上传失败。
解决方案:将 typecho/usr/uploads/
文件夹所有者递归修改为 www-data:www-data
语法为:chown [OPTION]... [OWNER][:[GROUP]] FILE...
命令示例:
chmod -R www-data:www-data usr/uploads
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);
Comments | NOTHING