WordPress网站在导入数据库时,出现“#1273 – Unknown collation: ‘utf8mb4_unicode_ci’” 或者 “#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’”的错误,基本都是因为导入的MYSQL和当前网站数据库版本不一致导致的。
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
注意:一定要按照上面的先后顺序进行替换,否则不能替换成功。
替换完成后,保存数据库,再导入就没有问题了。
如果还会出现错误提示,尝试检查 WordPress 网站根目录下的配置文件 wp-config.php ,更改数据表默认文字编码,把里面的
define(‘DB_CHARSET’, ‘utf8mb4’); 改成: define(‘DB_CHARSET’, ‘utf8’);