最近在对一个wordpress网站搬家,从腾讯云搬到一个虚拟主机上,把腾讯云主机备份的数据库文件导入到此虚拟主机时就出现了Unknown character set: ‘utf8mb4’错误;相反从Mysql5.1导入到Mysql5.5也会出现这个问题。这是因为Mysql低版本与高版本不兼容导致。从WordPress4.2版本开始,默认的文字编码变为了utf8mb4,而之前版本都是utf8。那么如何解决WordPress出现导入数据库 Unknown character set: ‘utf8mb4’错误问题。

方法1

升级数据库为Mysql5.5版本(如果是虚拟主机就不能用这个方法了)

方法2

用SQL命令修改数据表的排序规则(默认编码)

通过phpmyadmin登录数据库管理界面

在SQL命令窗口执行下面命令(把表名修改为自己要修改编码的表名称;有多个表,请执行多次):

ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

方法3
  
在phpmyadmin中导出兼容版本数据库

我们在“导出”界面,“导出方式”选择“自定义
WordPress出现导入数据库 Unknown character set: ‘utf8mb4’错误问题 (https://www.wpzt.net/) WordPress开发教程 第1张
“格式特定选项”中选择兼容旧版本的Mysql服务器为“MYSQL40”
WordPress出现导入数据库 Unknown character set: ‘utf8mb4’错误问题 (https://www.wpzt.net/) WordPress开发教程 第2张
再执行导出操作,导出后再导入到新的数据库中就可以导成功了。

完成上面的操作后,最后修改网站根目录下wp-config.php的文件,解决乱码问题:

找到下面:

define('DB_CHARSET', 'utf8mb4');

改成:

define('DB_CHARSET', 'utf8');