导入MYSQL数据库时出现:#1273 – Unknown collation: ‘utf8mb4_unicode_ci’ 错误,这种一般出现在二个空间的数据库版本不一致导致,如高版本MYSQL5.5导入到低版本MYSQL5.1时,存在不兼容的问题,因为utf8mb4需要在5.5以上版本兼容,MYSQL5.1不兼容。所以我们在备份时要保存成适合MYSQL5.1版本的数据库,通过vps管理面板进入phpmyadmin管理,导出时需简单设置下,如下图:
如是worpdress程序,访问网站出现文字乱码,找到根目录下的wp-config.php文件中的 define(‘DB_CHARSET’, ‘utf8mb4’);将utf8mb4替换为utf8,变成define(‘DB_CHARSET’, ‘utf8’);
第二种情况:原来的数据库已无法进入重新导出。
根据wordpress官方的解释,在导入数据库之前,只需要把utf8mb4编码转成utf-8就可以了,有两种方法可以替换数据库编码:
一、替换代码
从老的数据库中导出的数据库文件,用notepad++(百度下载)等代码编辑器打开。
查找:utf8mb4_unicode_ci 或 utf8mb4_unicode_520_ci全部替换为:utf8_general_ci
查找:utf8mb4 全部替换为 utf8
保存,重新导入到数据库中,导入前先清空数据库内的表。
二、修改文件
修改wordpress的配置文件wp-config.php
把define(‘DB_CHARSET’, ‘utf8mb4’); 改为define(‘DB_CHARSET’, ‘utf-8’);
完成之后,基本能解决问题了。
——————————————————————————————————–
附带说明:
phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题:
使用虚拟主机空间上的phpmyadmin操作数据库的时候,如果看到phpmyadmin首页上显示的MySQL 字符集为cp1252 West European (latin1),当我们导入数据时就会出现乱码,解决的方法是:在phpmyadmin首页的右边有个Language选项,把默认的中文 – Chinese simplified-gb2312改成 中文 – Chinese simplified,则左边的MySQL 字符集会变成UTF-8 Unicode (utf8) ,乱码问题得到解决!