美文网首页码农的世界有趣的代码程序员
如何让Typecho支持emoji的存储

如何让Typecho支持emoji的存储

作者: 高正杰 | 来源:发表于2018-10-10 15:37 被阅读2次

首发于高正杰的博客

写在前面

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

环境

Ubuntu 16.04 ,MySQL 5.7.23

修改 MySQL 数据库的编码格式

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

方法二:命令行

  • 修改 MySQL 配置文件
    配置文件的路径 /etc/mysql/mysql.conf.d,找到后在里面添加如下内容
[mysqld_safe]
default-character-set = utf8mb4
[client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 
[mysqld] 
character-set-server = utf8mb4 
修改 MySQL 配置文件中的编码格式
  • 重启数据库 service mysql restart (CentOS 中是 service mysqld restart)
  • 连接数据库的命令如下,回车后再输入密码。
mysql -uroot -p
  • 查看 MySQL 编码格式,命令如下:
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

相关文章

网友评论

    本文标题:如何让Typecho支持emoji的存储

    本文链接:https://www.haomeiwen.com/subject/uemuoftx.html