前言

为了支持 Emoji, 博客数据库都会使用utf8mb4的编码,本来一直相安无事,就在有一天 我需要将博客迁移到SR-HOST合租服务器时,导出SQL的时候数据库只支持utf8的编码方式导出,导致再进行导入的时候,数据库自然就按照utf8的编码方式导入,导致 Emoji 表情都变成了 ? □ 。当时在网上搜索一番却找不到解决方法,今天终于在hran的博客看到了解决方法,特此记录

解决方法

打开已经导出的 SQL 文件,搜索:

SET NAMES

然后找到:

SET NAMES utf8;

如果以上面 那样,那再导入的时候就是以utf8作为编码了。所以我们要把这里的utf8改成utf8mb4,然后就搞定了。

当然,最终的编码还是根据你的实际情况看,但是仍然建议在导入之前先检查一遍编码方式,以免不必要的呵呵发生。

原文出自 hran《数据库迁移时的编码问题》,我只是一名快乐的搬运工! (●′ω`●)