字符集与校对集 create table 表名( 列声明 )charset utf8; 上面这个charset utf8指定服务器字符类型。 ----------------------------------------------- 字符集: mysql的字符集设置非常灵活。 可以设置服务器默认字符集, 可以设置数据库默认字符集, 表默认字符集, 列字符集, 如果某一个级别没有指定字符集,则继承上一级。 1.告诉服务器,我给你发的数据是什么编码的?set character_set_client=utf8 2.告诉转换器,转换成什么编码?set character_set_connection=utf8 3.查询的结果用什么编码?set character_set_results=utf8 以上三者都为字符集N,那么可以简写成 set names N ------------------------------------------------------ 校对集:指字符集的排序规则 一种字符集可以有一个或者多个排序规则 以UTF8为例,我们默认使用的是UTF8_general_ci, 也可以按ASCII来排,utf8_bin 怎么样声明校对集? create table()charset utf8 collate utf8_bin 注意:声明的校对集必须是字符集合法的校对集。 例1,建表时不指定校对集,默认是不分大小写的utf8_general_ci,如: create table tmp (name char(5)); insert into tmp values (‘a‘),("B"),("c"),("D"); select * from tmp order by name; +------+ | name | +------+ | a | | B | | c | | D | +------+ 例2,建表时指定校对集: create table tmp (name char(5))charset utf8 collate utf8_bin; insert into tmp values (‘a‘),("B"),("c"),("D"); select * from tmp order by name; +------+ | name | +------+ | B | | D | | a | | c | +------+
原文地址:http://1154179272.blog.51cto.com/10217799/1653262