Typecho默认不支持emoji表情,是由于数据库编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4,utf8mb4编码只有在PHP5.5以后才支持。
Emoji就是一种在Unicode位于u1F601-u1F64F区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在 MySQL 中,UTF-8只支持最多 3 个字节,而 emoji 是 4 个字节!
1.修改Typecho数据库编码
在PhpMyadmin中选择(鼠标左键点一下)typecho数据库,操作–>排序规则–>选择utf8mb4_unicode_ci 然后点执行。
2.修改Typecho数据库表编码
执行以下sql语句:
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;
sql语句说明,可忽略直接复制上面的就好了:
alter table typecho_表名 convert to character set utf8mb4 collate utf8mb4_general_ci;
每一行代表修改一个对应Typecho表的名称!
3.修改typecho配置文件
Typecho网站根目录目录打开config.inc.php
文件修改如下:'charset' => 'utf8'
, 改成 'charset' => 'utf8mb4'
,
Typecho正式版本1.1(17.10.30)的第60行!
emoji表情:
这样typecho就可以使用emoji表情了,很多输入法都有这个表情的,没有的话,直接复制粘贴表情也可以!表情例子演示如下:
😃😄😅😆😉😊😋😎😍😘😗😙😚☺️🙂🤗😇🍏 🍎 🍐 🍊 🍋 🍌 🍉 🍇 🍓 🍈 🍒 🍑 🍍