原因
Mysql支持的 UTF-8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。
三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。
也就是说,任何不在基本多文本平面的 Unicode 字符,都无法使用 Mysql 的 UTF-8 字符集存储。
这个显然超过了目前常用的UTF-8字符集的编码范围u0000-uFFFF。
Emoji就是一种在Unicode位于u1F601-u1F64F区段的字符。
MySQL在5.5.3之后增加了这个 utf8mb4 的编码,mb4 就是 most bytes 4 的意思。
专门用来兼容四字节的 unicode ,以解决 utf-8 的缺点。
好在 utf8mb4 是 utf8 的超集,除了将编码改为 utf8mb4 外不需要做其他转换。::quyin:1huaji::
实际操作
1.修改Typecho数据库编码
在PhpMyadmin中选择Typecho数据库,操作-->排序规则-->选择utf8mb4_unicode_ci
然后点执行。
然后复制下面?的命令到控制台CTRL+V粘贴然后CTRL+ENTER。
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;
图片演示

2.修改Typecho配置文件
Typecho网站根目录目录打开config.inc.php
文件修改如下:
'charset' => 'utf8',` 改成 `'charset' => 'utf8mb4',
Typecho正式版本1.1(17.10.30)的第60行!
这样Typecho就可以使用emoji表情了,很多输入法都自带这个表情。
没有的话,直接复制粘贴表情也可以!
表情演如😃 😄 😅 😆 😉 😊 😋 😎 😍 😘
本文《在PhpMyadmin中设置让Typecho支持Emoji表情😄》版权由月下读心所有,任何人未经本人允许禁止转载。
如已授权转载,转载请备注文章来源链接:https://nianshaoke.cn/archives/76