使用mysql数据库新建数据库的时候要指定字符集和排序规则。最常用的字符集为utf8。但是utf8字符集对应的排序规则却有差别。
排序规则: utf8_bin与utf8_general_ci区别
MySQL中存在多种格式的utf8编码,其中最常见的两种为:
utf8_bin
utf8_general_ci
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写;
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感,为utf8默认编码。
ci是 case insensitive, 即 “大小写不敏感”, a 和 A 会在字符判断中会被当做一样的;
bin 是二进制, a 和 A 会别区别对待.
例如你运行:SELECT * FROM table WHERE field = ‘a’
那么在utf8_bin中你就找不到 field = ‘A’ 的那一行, 而 utf8_general_ci 则可以.