WordPress导入数据库时“#1273 – Unknown collation: ‘utf8mb4_unicode_ci’”的解决方法

WordPress网站在导入数据库时,出现“#1273 – Unknown collation: ‘utf8mb4_unicode_ci’” 或者 “#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’”的错误,基本都是因为导入的MYSQL和当前网站数据库版本不一致导致的。

150354zqI.jpg

WordPress 4.2 版本开始,在 MYSQL 5.1 版本的数据库中导出的数据编码是带有 utf8mb4 格式的,当我们在迁移网站导入数据,MYSQL 5.5 或更高版本的数据库导入到 MYSQL 5.1 低版本的时候就可能会出现“#1273 – Unknown collation: ‘utf8mb4_unicode_ci’” 或者 “#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’”的错误。下面,我们就介绍以下相关的解决办法:

解决方法1:升级MYSQL

如果我们是自己搭建的服务器环境或者VPS,可以通过升级MySQL数据库版本来解决。把当前网站服务器环境下MySQL升级至5.5版本或更高,这样就可以解决兼容性问题。

但是,如果我们使用的虚拟主机或者其他无法操作MYSQL升级的话,则看解决方法2

解决方法2:替换编码

如果我们无法自己管理MYSQL数据库,我们可以通过修改的 .sql 数据文件的方法来解决,具体如下:

使用编辑器(比如:Notepad++ 或 Dreamweaver)打开我们要导入的数据库文件(后缀为 .sql),在该文件中查找:

utf8mb4_unicode_ci

替换为:

utf8_general_ci

 

然后,再查找

utf8mb4_unicode_520_ci

同样替换为:

utf8_general_ci

 

最后,再查找

utf8mb4

替换为

utf8

注意:一定要按照上面的先后顺序进行替换,否则不能替换成功。

替换完成后,保存数据库,再导入就没有问题了。

解决方法3:备份兼容性数据库

如果以上2种办法都行不通,那我们就要在导出原网站的数据库时,做好相应的兼容性版本的设置了,具体如下:

1.  登录原网站的 phpMyAdmin 数据库管理,找到对应数据库切换到【导出】界面,选择“自定义 – 显示所有可用的选项”,如下图所示:

mysql-01

 

2. 在【格式特定选项】中,找到“最大程度兼容数据库系统或旧版本的MySQL服务器”选项中,选择 MYSQL40,然后,导出数据库,如下图所示:

mysql-02

3. 最后,进入到新网站空间的 phpMyAdmin 数据库管理中,导入数据时,一定记得要在【格式特定选项】的 “SQL 兼容模式”中,选MYSQL40,和之前导出的保持一致。如下图所示:

mysql-03

如果还会出现错误提示,尝试检查 WordPress 网站根目录下的配置文件 wp-config.php ,更改数据表默认文字编码,把里面的

define(‘DB_CHARSET’, ‘utf8mb4’);

改成:

 define(‘DB_CHARSET’, ‘utf8’);