我已经迁移了数据库,现在缺少一些表情符号:
https://i.imgur.com/fqvO4LO.png
在转储.sql文件中,我可以看到表情符号,但是在导入过程中某些东西正在破坏某些表情符号,我已经使用此脚本进行了导入:
有什么想法吗?
答案 0 :(得分:0)
这是一个较旧的问题,但需要将来的读者来回答。 UTF8在其他平台上很简单且通用,但是MySQL对utf8的支持不成熟,从而使其变得不必要地复杂。在MySQL中,utf8实际上是utf8mb4
,而不是utf8
(!!)。在这种怪异和WordPress自己的utf8 vs utf8mb4支持之间,有几件事情值得研究。
检查您的wp-config.php
是否define('DB_CHARSET', 'utf8mb4');
,在确定要导入到后导出的字符集时,有几个备份脚本会使用它。
在迁移/备份SQL脚本中为SET NAMES utf8
进行文本搜索。这将像/*!40101 SET NAMES utf8 */;
这样的可执行注释。无论哪种方式,都将utf8
更改为utf8mb4
,然后重试迁移
打开备份/迁移SQL脚本,并检查其中的CREATE TABLE
是否具有正确的CHARSET=utf8mb4
。
除此之外,还需要研究MySQL设置,请参见this question/answer