Mysql中utf8_general_ci与utf8_unicode_ci有什么区别呢?在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_general_ci而不是utf8_unicode_ci呢?
Mysql中utf8_general_ci与utf8_unicode_ci有什么区别呢?在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_general_ci而不是utf8_unicode_ci呢?
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的;
COLLATE是校对集的意思,可以理解为,排序规则 ;
- utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
- utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果
- utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容
中文手册中关于utf8_unicode_ci与utf8_general_ci的说明
总结:
utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。
utf8_general_ci校对速度快,但准确度稍差。
utf8_unicode_ci准确度高,但校对速度稍慢。
如果你的应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。一般用utf8_general_ci就够了
连接数据库客户端:
Windows 下: Navicat,非常不错的MySQL客户端,分享链接: https://pan.baidu.com/s/1EGYIcCGcUovd7t3o8VRM5g