Loading... 之前我们讲过如何使得 typecho 的数据库支持存储撰写 Emoji 表情,我的站点也是有很多这种表情符号的,有的时候这种表情符号在一定程度上可以让人觉得更可爱。 那么之前我在做 Windows server 服务器迁移到 Linux 服务器的过程中就遇到了一个大大的困难,那就是按常规的 mysqldump 工具导出的方式导出的数据库 sql 文件,涉及到 Emoji 表情的部分全部变成了 `?` 号,这让我非常的郁闷,辛辛苦苦配置的 Emoji 表情不能够顺利迁移? 经过一番探索,我们有如下的结论可以提供给大家。如何备份才能把 Emoji 表情一起备份上? ## 原理 原理比较简单,那就是在导出时默认会按照 utf-8 编码进行导出,而我们需要使用支持 emoji 表情的 utf8mb4 编码导出即可。 ## 具体备份方法 命令行窗口中运行代码: ```bash mysqldump -utest -p123456 --default-character-set=utf8mb4 db_name > db_name_bak.sql ``` 其中: * `test` 为登录数据库的用户名 * `123456` 为登录数据库的密码 * `db_name` 表示你要备份的数据库名 * `db_name_bak.sql` 为你要导出的备份文件的名称 请你根据自己的需要将上述代码修改为你自己的数据库信息即可。 这样的备份数据恢复后就不会产生 emoji 丢失的情况。不指定字符集直接备份的话,因默认字符集是 utf8 会导致 emoji 表情无法备份到文件。 你学会了吗? 最后修改:2021 年 08 月 22 日 © 允许规范转载 赞 赠人玫瑰,手留余香