mysql中utf8编码的校对规则:utf8_bin,utf8_general_cs,utf8_bi

utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。


utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果


utf8_bin: compare strings by the binary value of each character in the string 将字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容


另:

今天在创建新的数据库的时候,在“整理”选项选择的时候,通常就直接选择utf_bin ,但是有时候也用utf_general_ci,用了这么长时间,发现自己竟然不知道这两者到底有什么区别,下面是soso的问答结果



ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的;

bin 是二进制, a 和 A 会别区别对待.

例如你运行:

SELECT * FROM table WHERE txt = 'a'

那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则可以.

 

我们知道utf8下面还有很多 选项,我们没有必要去一一掌握,但是需要了解。


你可能感兴趣的:(mysql中utf8编码的校对规则:utf8_bin,utf8_general_cs,utf8_bi)