WordPress搬迁阿里云免费主机数据库无法导入及乱码

阿里云免费主机的数据库版本还是5.1,默认数据库字符集是utf8,而我们使用的数据库默认字符集一般是utf8mb4,如果你备份的数据库字符集是utf8mb4,在阿里云免费主机导入数据库就会提示失败。

解决办法:用纯文本编辑器打开.sql数据库文件,批量替换以下内容:

  • 将 CHARSET=utf8mb4 全部替换成 CHARSET=utf8
  • 将 COLLATE=utf8mb4_unicode_ci 全部替换成 COLLATE=utf8_general_ci
  • 将 utf8mb4_unicode_ci 全部替换成 utf8_general_ci

此时数据库能够正常导入了,但网站内容全部乱码,修改wp-config.php,将:

define('DB_CHARSET', 'utf8mb4');

替换为:

define('DB_CHARSET', 'utf8');

那么,utf8与utf8mb4有什么区别呢?

utf8mb4兼容utf8,且比utf8能表示更多的字符。

阿里云