之前收到几位博友的反馈,说他们发表的评论不是没有了就是少一段,还问是不是被我删掉了?博友们的评论我怎会舍得删呢,但是发广告和毫无营养的评论绝不手软,当时我是一头雾水不懂哪出了问题,
最近留意到挨踢路一篇文章提到emoji表情,回想几位博友当时反应的情况总算找出导致评论异常的原因了;
typecho默认不支持emoji表情是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,不过utf8mb4编码在PHP5.5以后才支持。
Emoji是一种在Unicode位于u1F601-u1F64F区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。在MySQL中,UTF-8只支持最多3个字节,而emoji是4个字节。这就导致如果你不修改数据库的话,typecho是无法支持Emoji表情的。
当然好消息是utf8mb4其实是完全兼容utf-8,修改后不会影响现有数据及后期数据。
1.修改数据库编码
在PhpMyadmin中选择typecho数据库,操作-->排序规则-->选择utf8mb4_unicode_ci然后执行。2.修改表编码
执行以下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;3.修改typecho配置文件config.inc.php
拉到最下面找到这一行
'charset'=>'utf8',修改为
'charset'=>'utf8mb4',Typecho就可以使用emoji表情了,赶紧评论试试吧,搜索emoji表情还真不少.
✨🎋🎍😀😃😄😁😆😅🤣😂🙂🙃😉😊😇🥰😍🚢✈️
2020-03-07
原文链接:https://img.shududu.com/556/rangtypechozhichie.html
http://www.admini5.com/ 为 “迷你信息网” 唯一官方网站,请勿相信其它任何渠道。
扫码二维码
获取最新动态