首页 » WordPress建站教程 » 正文

WordPress数据库导入阿里云主机数据库后报错乱码

WordPress数据库导入阿里云主机数据库后报错乱码的原因和解决办法很过同学在本地搭建完WordPress网站后准备导入阿里云服务器时会遇到数据库报错和乱码问题,今天和大家分享站长解决这个“WordPress数据库导入阿里云主机数据库后报错乱码”问题的经历以及解决报错乱码问题的原因和办法。为了便于清晰的分辨问题的产生的原因,这里将wordpress数据库导入报错和wordpress数据库导入乱码分开来进行解释:

站长曾经在本地搭建完一个WordPress博客站,买的是阿里云的虚拟主机,网站程序顺利上传也解压了,wp-config数据库连接配置信息也OK了,一切准备工作都OK了,但是却在数据导入上先是出现了报错问题:导入数据库错误信息”Unknown collation: ‘utf8mb4_unicode_ci”。后又好不容易导入成功,结果又出现了数据库乱码问题,着实让人折腾一会。

WordPress数据库导入阿里云主机数据库后报错原因及解决办法

于是,就在百度上寻找关于:WordPress数据库导入阿里云主机数据库后报错问题的原因:大致确认数据库乱码的原因是数据库版本不兼容问题导致的数据库的编码冲突问题。阿里云虚拟主机自带的数据库版本时Mysql 5.1版本,支持utf8编码的数据库输入,而我本地phpstudy带的数据库版本是5.3,数据库编码是utf8mb4,应该是数据库编码不一致问题。而网上给出的解决办法是:用编辑器修改数据库,批量将utf8mb4替换成utf8,将utf8mb4_unicode_ci批量替换成utf8_general_ci。包括将”CHARSET=utf8mb4″替换成”CHARSET=utf8″等。于是,在本地修改完数据库编码后,导入结果这次是导入成功了,但是却出现了另外一个问题:导入到阿里云数据库的数据全部乱码。

WordPress数据库导入阿里云主机数据库后乱码原因及解决办法

当我在本地按照网上的解决办法修改数据库后,成功导入到阿里云虚拟主机,但是数据库的数据全部乱码。于是在想是不是数据库在本地导出时有问题,得重新在本地导出,再修改,再导入,反复了几次,仍然没有成功,网上也没有找到决绝乱码问题的方法。于是,我就想着,如果从阿里云数据库中导出已经乱码的sql文件看看编码修改问题,导出后,用notepad++打开后,已查看底部,果然阿里云虚拟主机的数据库编码确切的说是utf8-bom,看好了是utf8-bom.而非一般意义上的utf8编码。马上回到本地的数据库,在保存数据库文件师,在notepad++的编码中选择了utf8-bom,再导入到阿里云数据库,终于OK了。

所以总结一下,关于WordPress数据库导入阿里云主机数据库后报错乱码问题,网上给出的解决办法只解决了WordPress数据库的报错问题,但没有解决WordPress数据库导入乱码问题,所以本站提醒各位需要修改两个地方:第一,要修改Unknown collation: ‘utf8mb4_unicode_ci报错信息中的utf8mb4和utf8mb4_unicode_ci,按照批量替换就能解决。第二,在保存SQL文件时,务必将数据库文件的编码设置为utf8-bom.