typecho支持emoji

2022-03-28 11:19:30 浏览数 (1)

开篇

今天也是突发奇想的购买更换了一个主题,虽然破费了我兜里仅有的58r。但有一说一的是这主题确实不错,唯一不足之处就是没能让作者把他的审美传授给我

问题的浮现

在使用了该主题之后看到搭配emoji表情可以让改主题更加美观~,于是我就上了,结果在将emoji表情放进去保存的时候,突如其来的Database Query Error报错让我措手不及。就这样的小问题怎么能够阻止我这样的好奇宝宝呢

于是我抓紧时间问起了度娘。最后的结果是:

在 MySQL 中,UTF-8只支持最多 3 个字节,而 emoji 是 4 个字节。. Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,当然别忘了,utf8mb4编码只有在PHP5.5以后才支持。. 简单两步即可让typecho支持emoji.

那么既然知道了问题的所在,就应该去着手解决了吧

解决办法:

第一步

1.首先我们进入数据库控制面板,然后点击我们博客对应的数据库。(楼主这边的是yywbk)

第二步

2.然后我们点击sql并将我们的代码粘贴进去点击右下角的执行按钮!

代码语言:javascript复制
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;

第三步

3.我们到网站的根目录下找到config.inc.php在其中的六十行左右我们可以看到如下代码,然后我们将其替换掉

代码语言:javascript复制
/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
'host' => 'localhost',
'user' => '这是你的数据库名',
'password' => '你数据的密码',
'charset' => 'utf8mb4', // 将原来的utf8修改为 utf8mb4
'port' => '这是你的数据库端口',
'database' => '这是你的数据库名',

总结

这样我们就可以在typecho中自由自在的使用emoji表情了,那让我们开始实践吧。

0 人点赞