让Typecho支持emoji表情

让Typecho支持emoji表情

所谓Emoji就是一种在Unicode位于\u1F601-\u1F64F区段的字符。

在服务器根目录下查看config.ini.php可以发现typecho默认使用的是utf-8编码,而在 MySQL 中,UTF-8只支持最多 3 个字节,而 emoji 是 4 个字节,这个显然超过了目前常用的UTF-8字符集的编码范围\u0000-\uFFFF

所以只要将默认的数据库编码更改为utf8mb4即可

注:utf8mb4在PHP5.5后才支持

操作步骤

1. 修改数据库编码

进入PhpMyadmin,选择typecho数据库,操作–>排序规则–>选择utf8mb4_unicode_ci然后执行。

2. 修改所有表的编码

执行以下sql语句

1
2
3
4
5
6
7
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. 修改数据库配置文件

把服务器根目录下config.inc.php文件这一行

1
'charset'   =>  'utf8', 

修改为

1
'charset'   =>  'utf8mb4', 

然后typecho就可以使用emoji表情了。

😀😁😂🤣😃😄😅😆😉😊😋😎😍😘😗😙😚☺️🙂🤗😇

推荐一个Emoji表情网站 http://getemoji.com/ 方便寻找需要的emoji

作者

Khan

发布于

2019-08-03

更新于

2023-12-26

许可协议

评论

关注我的B站主页