字符集是人们将自然文字映射到计算机中表示的方法,是一些文字和字符的集合,常见的有GBK(GB2312字符集的升级版)、BIG5字符集、 GB18030字符集、UTF-8(Unicode字符集的升级版),而校对规则(collation)是字符集中规定的一些规则(比如哪些字符规定区分大小写,哪些字符不区分大小写,
打开cmd中在进入MYSQL后运行
show character set
查看服务器支持哪些字符集;
show collation
字符校对排序规则,如果没有指定相应字符集校对规则,将使用默 讣方式进行校对与排序;
show variables like "%character%";
查看系统字符集设置变量;
set names utf8
设置客户端和服务器端连接使用的字符集;
字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和连接级。
CREATE DATABASE db_name DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
MySQL这样选择数据库字符集和数据库校对规则:
·如果指定了CHARACTER SET X和COLLATE Y,那么采用字符集X和校对规则Y。
·如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默认校对规则。
·否则,采用服务器字符集和服务器校对规则。
如果指定了字符集character set而没有指定collate校对规则,校对 规则会使用字符集的默认校对规则
如果指定了校对规则而没有指定字符集,将使用当前校对规则的字 符集
如果字段没有指定校对规则也没有指定字符集,将使用表的校对规则与字符集
如果表没有指定字符集与校对规则,将使用数据库的字符集与校对 规则
如果数据库没有设置校对规则与字符集,将使用服务器的默认校对 规则与字符集规则