utf8_unicode_ci和utf8_general_ci对中、英文来讲没有实质的差异。mysql
utf8_general_ci 校对速度快,但准确度稍差。sql
utf8_unicode_ci 准确度高,但校对速度稍慢。ide
若是你的应用有德语、法语或者俄语,请必定使用utf8_unicode_ci。通常用utf8_general_ci就够了。spa
mysql5.x 编译安装时也须要指定排序规则 -DDEFAULT_COLLATION=utf8_general_cicode
附:排序
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当作同样的;ci
bin 是二进制, a 和 A 会别区别对待。unicode
例如你运行:字符串
SELECT * FROM table WHERE txt = 'a'it
那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则能够。
utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
utf8_general_cs 区分大小写,若是用户名和邮箱用这个 就会照成不良后果
utf8_bin:字符串每一个字符串用二进制数据编译存储。 区分大小写,并且能够存二进制的内容