AI摘要:本文介绍了如何在 Typecho 博客中支持 emoji 显示。主要原因是 Typecho 使用的 UTF-8 字符集在 MySQL 中只支持最多 3 个字节,而 emoji 是 4 个字节。解决方法是将数据库 charset 修改为 utf8mb4,并在 Typecho 配置文件中修改数据库定义参数的 charset 为 utf8mb4。修改后,emoji 可以在 Typecho 中正常显示。
Powered by AISummary and MoonShot KimiChat.
前两天写文章写到兴头上,想加一个🤣这个表情,结果 Typecho 并不想支持我这么做并且把我之前写的东西全删了🤣,虽然不爽但还是先发出来要紧,于是也就没计较太多。不过思来想去傻翠这么可爱一个孩子,没有 emoji 简直不爽。于是在网上搜了搜,找到了让 Typecho 支持 emoji 的方法。
具体来说 Typecho 不支持 emoji 的主要原因是字符集的锅。之前用的是 UTF-8 的编码,在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节,所以就出现了这种惨绝人寰的问题。估计当时 Typecho 的人也没想到 emoji 现在会这么流行,MySQL 的估计更没想到吧🤣
知道问题也就好修改了。修改的关键就是要把文字的数据类型从 utf 换位 utf8mb4,具体操作方法如下:
修改数据库 charset 为 utf8mb4:
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;
修改 Typecho 配置文件中数据库定义参数中的 charset 为 utf8mb4:
$db->addServer(array (
'host' => localhost,
'user' => 'me',
'password' => 'my_password',
'charset' => 'utf8mb4', //修改这一行
'port' => 3306,
'database' => 'typecho'
), Typecho_Db::READ | Typecho_Db::WRITE);
啊,当然了,如果电脑或者浏览器原本就不支持 emoji,也就自然没有办法显示辽,这也是没有办法的事情嘛 //摊手
就是可惜自己现在的笔记本 leanote 还不支持 emoji 🤣,如果博客中需要添加 emoji 还需要写好之后再现添加,有点麻烦 嘤 不过能显示就很好啦ww
大家也可以试试在下面用 emoji 评论鸭 🙈!表情功能之后也会加的!
已有 5 条评论
搜教程搜到你这了,牛啊脆脆
试试🤣
试验评论🤣
修改数据库 charset 为 utf8mb4 这个数据库是typecho数据库吗
对