navicat在本地导入.sql时错误:1273 - Unknown collation: 'utf8mb4_0900_ai_ci'

原因可能是:
1、服务器linux下mysql版本不一致导致的,mysql5.5.3后才支持utf8mb4格式
2、数据库编码格式不一致

utf8其实不是真的UTF-8,它每个字符最多只有3字节,而UTF-8是4字节的,Mysql为了解决这一问题在mysql5.5.3之后推出了utf8mb4(more bytes 4)来解决这一问题

解决方法:

第一种方式:在确保要导入.sql文件的mysql版本大于 5.5.3后,直接将原本要通过navicat导入的.sql文件,拉到服务器,这里拉到根目录tmp文件夹下,然后进入mysql ,然后

show database;

use aimdatabase;

source /tmp/want.sql:

第二种方式:

  1. 在navicat中要记得右键数据库选择数据库属性将数据库的编码更改为utf8mb4–UTF-8 Unicode 排序规则utf8mb4_general_ci
  2. 然后用记事本或者Notepad++打开.sql文件
    navicat在本地导入.sql时错误:1273 - Unknown collation: 'utf8mb4_0900_ai_ci'_第1张图片
  3. 将划线处改为uft8,utf8_general_ci,然后再导入,这个时候就可以导入成功了。(不知道为啥前面数据库编码模式已经换了,但是导入还是不成功,所以只能这样做)
  4. 然后再点击设计表里的选项,将编码换回utf8mb4就不会导致后面出现乱码问题

总结
为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8

你可能感兴趣的:(数据库,mysql,navicat,编码)