码农的世界有趣的代码程序员

如何让Typecho支持emoji的存储

2018-10-10  本文已影响2人  高正杰

首发于高正杰的博客

写在前面

utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题.。然后我在网上查了很多资料,全部都是让修改数据库的编码,将 utf8 改为 'utf8mb4' ,但是我修改了之后仍然一直报错,最后才发现还需要再修改 Typecho 的配置文件,接下来将详细过程记录如下。

环境

Ubuntu 16.04 ,MySQL 5.7.23

修改 MySQL 数据库的编码格式

方法一:图形化界面
通过图形化界面远程连接,将数据库和对应表的编码格式都改为utf8mb4格式。关于如何远程连接可以参考我上一篇博文。

方法二:命令行

[mysqld_safe]
default-character-set = utf8mb4
[client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 
[mysqld] 
character-set-server = utf8mb4 
修改 MySQL 配置文件中的编码格式
mysql -uroot -p
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
查看MySQL编码格式

修改 Typecho 配置文件

将 Typecho 配置文件 config.inc.php 中的 'charset' => 'utf8', 修改为 'charset' => 'utf8mb4',OK,就这样就可以存储 emoji 表情了,哈哈!😀😁😂🤣😃😄😅😆😉😊😋😎😍😘😗😙😚🙂🤗😇

参考文章

[1] 使typecho支持emoji表情
[2] 更改MySQL数据库的编码为utf8mb4

上一篇 下一篇

猜你喜欢

热点阅读