解决数据库迁移UnKnown collat​​ion和UnKnown character set的问题

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

 

网上搜了一下,原来是 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 character set: ‘utf8mb4‘ ”错误。纳尼?什么情况!!!

 

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

 

再次打开记事本,批量查找 utf8mb4 并将其替换回 utf8 。

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

 

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

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/114577.html<

(0)
运维的头像运维
上一篇2025-02-17 21:08
下一篇 2025-02-17 21:11

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注