Typecho支持Emoji表情(采用utf8mb4编码)

写文章遇到插入小表情emoji数据库报错的问题,解决办法就是更改字符集编码格式,方法如下。

一、utf8与utf8mb4

MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.MySQL支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。那么emoji表情就无法插入了,一旦插入进数据库,很可能设置项全部丢失或者网页访问失败!

二、服务器文件配置

在宝塔文件的网站根目录中,有一个config.inc.php的文件,点击编辑。在如下位置修改'charset' => 'utf8mb4'
Typecho支持Emoji表情(采用utf8mb4编码)_第1张图片

三、放行888端口

(一)在阿里云服务器放行888端口安全组

Typecho支持Emoji表情(采用utf8mb4编码)_第2张图片

(二)在宝塔中放行888端口

Typecho支持Emoji表情(采用utf8mb4编码)_第3张图片

四、数据库的phpMyAdmin管理

从这一步开始,就是所谓的进入数据库操作
在宝塔中打开数据库,点击对应数据库后面的管理,进入数据库管理界面。
Typecho支持Emoji表情(采用utf8mb4编码)_第4张图片
SQL中输入如下命令:
Typecho支持Emoji表情(采用utf8mb4编码)_第5张图片

alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_general_ci;

emoji完美呈现~~~
在这里插入图片描述

你可能感兴趣的:(Blog)