在mysql中存在着各种utf8编码格式,如下表:
1)utf8_bin
2)utf8_general_ci
3)utf8_general_cs
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。
utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。
例:
create table test_bin (
t_name varchar(32) not null primary key,
t_age int unsigned not null
) engine = InnoDB COLLATE=utf8_bin;
在数据库中建立如上table,插入以下语句:
-- 第一句
insert into test_bin values('vivian', 20);
-- 第二句
insert into test_bin values('Vivian', 20);
第一条语句执行成功,第二条语句也执行成功,因为utf8_bin使用二进制存储数据。
在5.6.10版本中,不支持utf8_genral_cs。