一、背景摘要

笔者的网站使用的是typecho博客框架,这个框架小众迷你但是轻巧实用。因为使用者少的原因,个别bug无法在开发初期反馈到开发者那边,从而没有办法解决。

目前该框架处于停滞状态,所以很多bug需要部署者自己解决。

今天要解决的bug是: Data Query Error

在著名Typecho开发者网站中已经有一篇文章提到过解决方案:安装typecho后出现数据库错误Database Query Error的解决办法汇总

文章很详实且富有操作性,大家可以跟着文章一步一步操作。

二、凡事都有意外

不过今天笔者遇到另一种情况的 Data Query Error错误。

发一般的文章没有任何问题,但是转载一篇微信公众文章的时候出现了上面的bug。比较了一般文章和公众号文章后发现,公众号文章使用的emojio 表情。所以问题转换成:Mysql数据库保存emoji表情时报错。

笔者马上在脑海中搜索解决方案,依稀记得 Typecho 创建表的时候默认使用utf-8字符集,而utf8并不支持emoji表情。

三、解决方案

原因得到明确后解决方法也就明确。笔者想到的解决办法有两个:

  • 第一,删掉文章中的emoji表情。此方法适用于在现有的网站上发布文章使用。
  • 第二,使用支持emoji表情存储的字符集utf8mb4来创建table,适用于刚初建的网站。

至于需不需要在已有的网站上改变字符集,这个请各位站长自己斟酌。

以上分享完毕!