开篇
今天也是突发奇想的购买更换了一个主题,虽然破费了我兜里仅有的58r。但有一说一的是这主题确实不错,唯一不足之处就是没能让作者把他的审美传授给我
问题的浮现
在使用了该主题之后看到搭配emoji表情可以让改主题更加美观~,于是我就上了,结果在将emoji表情放进去保存的时候,突如其来的Database Query Error
报错让我措手不及。就这样的小问题怎么能够阻止我这样的好奇宝宝呢
于是我抓紧时间问起了度娘。最后的结果是:
在 MySQL 中,UTF-8只支持最多 3 个字节,而 emoji 是 4 个字节。. Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,当然别忘了,utf8mb4编码只有在PHP5.5以后才支持。. 简单两步即可让typecho支持emoji.
那么既然知道了问题的所在,就应该去着手解决了吧
解决办法:
第一步
1.首先我们进入数据库控制面板,然后点击我们博客对应的数据库。(楼主这边的是yywbk)
第二步
代码语言:javascript复制2.然后我们点击sql并将我们的代码粘贴进去点击右下角的执行按钮!
alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_meting convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_general_ci;
第三步
代码语言:javascript复制3.我们到网站的根目录下找到
config.inc.php
在其中的六十行左右我们可以看到如下代码,然后我们将其替换掉
/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
'host' => 'localhost',
'user' => '这是你的数据库名',
'password' => '你数据的密码',
'charset' => 'utf8mb4', // 将原来的utf8修改为 utf8mb4
'port' => '这是你的数据库端口',
'database' => '这是你的数据库名',
总结
这样我们就可以在typecho中自由自在的使用emoji表情了,那让我们开始实践吧。