Unknown character set: utf8mb4 错误

解决这个问题有3种方法,请根据自己的状况自行选择:

方法1、升级数据库为Mysql5.5版本(如果是虚拟主机就不能用这个方法了)

方法2、用SQL命令修改数据表的排序规则(默认编码)

通过phpmyadmin登录数据库管理界面

在SQL命令窗口执行下面命令(把表名修改为自己要修改编码的表名称;有多个表,请执行多次):

ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

方法3、在phpmyadmin中导出兼容版本数据库

我们在“导出”界面,“导出方式”选择“自定义”

“格式特定选项”中选择兼容旧版本的Mysql服务器为“MYSQL40”

再执行导出操作,导出后再导入到新的数据库中就可以导成功了。

 

还有一方法

目前大多数服务器数据库版本都是5.1的,如果你用的是阿里虚拟主机,又的确需要使用utf8mb4字符集,可以购买使用MySQL 5.5以上版本的RDS服务。

另一个解决方法:使用记事本打开.sql文件,通过ctrl+h将该文件的中的CHARSET = utf8mb4全部替换成CHARSET = utf8,将COLLATE = utf8mb4_unicode_ci 全部替换为COLLATE = utf8_general_ci,然后重新导入测试,修改之前建议先对源文件做备份。(建议先将之前导入的部分数据删除,将数据库清空再操作导入。)

说白了,虚拟主机导入MySQL数据出现以上报错:unknown collation:utf8mb4_unicode_ci,就是mysql版本高低造成的。更多方法欢迎交流分享。

PS:目前多数服务器的数据库mysql5.6可以兼容mysql5.1的,导入一般不会有问题。但版本5.1迁移(导入)到其他版本5.6可能会出错,建议尝试升级更高版本的数据库。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论