今天对我的wordpress网站进行了搬家,从日本vps搬到香港vps上。
在日本vps上:WordPress版本是最新的4.2,Mysql版本是5.5,而香港vps上的Mysql版本为5.1,要把数据从高版本向低版本数据库导入,这样把日本vps备份的数据库文件导入到香港vps时就出现了Unknown character set: ‘utf8mb4’错误;相反从Mysql5.1导入到Mysql5.5也会出现这个问题。这是因为Mysql低版本与高版本不兼容导致。
解决这个问题有3种方法,请根据自己的状况自行选择:
方法1、升级数据库为Mysql5.5版本(如果是虚拟主机就不能用这个方法了)
方法2、用SQL命令修改数据表的排序规则(默认编码)
通过phpmyadmin登录数据库管理界面
在SQL命令窗口执行下面命令(把表名修改为自己要修改编码的表名称;有多个表,请执行多次):
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
方法3、在phpmyadmin中导出兼容版本数据库
我们在“导出”界面,“导出方式”选择“自定义”
“格式特定选项”中选择兼容旧版本的Mysql服务器为“MYSQL40”
再执行导出操作,导出后再导入到新的数据库中就可以导成功了。
完成上面的操作后,最后修改网站根目录下wp-config.php的文件,解决乱码问题:
找到下面:
define(‘DB_CHARSET’, ‘utf8mb4′);
改成:
define(‘DB_CHARSET’, ‘utf8′);