数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

  • A+

今天在给一个网站做迁移,恢复数据库的时候弹出了“UnKnown collation: ‘utf8mb4_unicode_520ci’ ”的错误提示,具体报错信息如下:

数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

网上搜了一下,原来是 MySQL 5.6 以及以上版本下,安装 WordPress 4.6 及以上版本的时候,默认的编码整理方式为 utf8mb4_unicode_520_ci,但是 MySQL 5.5 及以下版本的数据库,不支持 utf8mb4_unicode_520_ci,所以无法导入。 而我们只需要将备份的 sql 文件通过记事本打开,替换 utf8mb4_unicode_520_ci 为utf8mb4_unicode_ci 即可。

数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

替换完成后重新导入,又提示“UnKnown character set: ‘utf8mb4‘ ”错误。纳尼?什么情况!!!

数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

突然想起来,这事儿不对啊!WordPress 数据库不是 utf 8 编码的吗?咋成了 utf8mb4 编码了?这什么灵异事件。。。回去查看了下 wp-config.php 文件,果不其然,编码格式不知何时改成 utf8mb4 ,这就尴尬了不是。问题是因为使用的是阿里云的虚拟主机,最高只支持 mysql 5.1.73 ,退钱是不可能了。只能强行将编码改为 utf8 了。

数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

再次打开记事本,批量查找 utf8mb4 并将其替换回 utf8 。数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

重新尝试回复数据库,成功!!!

数据库迁移 UnKnown collation与 UnKnown character set 问题的解决

注:手动修改数据文件有风险,重要数据不建议此种操作。幸好新站数据量不大,恢复后大致检查了下没什么问题。提醒大家也看下自己 wp-config.php 文件中数据库编码格式,当然,如果你以后不会再使用低版本数据库倒也无妨。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: