Mysql字符集和排序规则 - UTF8mb4 520

时间:2016-10-10 07:33:40

标签: mysql character-encoding collation

问题:由于缺少排序规则而无法导入mysqldump

  

1273 - 未知整理:' utf8mb4_unicode_520_ci'

Mysql服务器是(来自phpMyAdmin):

Server version: 5.5.40 - MySQL Community 
Server charset: UTF-8 Unicode (utf8)
Database client version: libmysql - 5.0.95

这是一个centos 5.11服务器。

mysql> show variables where Variable_name like 'character\_set\_%' or Variable_n                            ame like 'collation%';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| character_set_client     | utf8            |
| character_set_connection | utf8            |
| character_set_database   | utf8            |
| character_set_filesystem | binary          |
| character_set_results    | utf8            |
| character_set_server     | utf8            |
| character_set_system     | utf8            |
| collation_connection     | utf8_general_ci |
| collation_database       | utf8_general_ci |
| collation_server         | utf8_general_ci |
+--------------------------+-----------------+
10 rows in set (0.00 sec)

我有本地服务器(xampp),其中有

> Server version: 10.1.9-MariaDB - mariadb.org binary distribution
> Server charset: UTF-8 Unicode (utf8)  Database client version:
> libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id:
> 3c688b6bbc30d36af3ac34fdd4b7b5b787fe5555 $

这进口罚款。 查看导入的最终表,我看到所有表的排序规则都是utf8mb4_unicode_ci。 当我上传到公共服务器时,同样的情况发生(即我的本地导入正确)

Server version: 5.6.29 - MySQL Community Server (GPL)
Database client version: libmysql - 5.1.73

为什么我的本地数据库会处理520校对,而centos框却没有?

赞赏任何正确方向的指针。所有上传都是通过上面的规范通过phpMyAdmin执行的。 我知道我可以更新' SQL转储并删除' 520'参考,只需用utf8mb4_unicode_ci替换,但如果每次都不经常这样做,就必须这样做。

1 个答案:

答案 0 :(得分:3)

utf8mb4_unicode_520_ci直到MySQL 5.6才被引入,所以你的CentOS盒子上的旧5.5版本会解释为什么你没有它。