一、通过命令行显示字符集设置

show variables like 'character_set%';

mysql数据库三-----字符编码问题,-LMLPHP

第一个,character_set_client 是发送数据的字符集编码。

第二个,character_set_connection是连接数据库时的字符集编码。

第三个,character_set_results 是返回结果时的字符集编码。

第三个,character_set_database是当前数据库的字符集编码。

第五个,character_set_server是服务器的字符集编码。

第六个,character_set_system是数据库标识符的编码,比如数据库名,表名,字段名等。

发送过程:client(客户端发送编码)------->connection(数据连接编码)------->[服务器内部编码]------>返回结果编码。

二、字符集和校验规则

1、校对规则。

校对规则包含三部分:字符集编码_语言地区_比较规则。

字符集编码:gbk ,   utf8   等都是字符集编码。

比较规则:ci   cs    bin   三种。

mysql数据库三-----字符编码问题,-LMLPHP

2、查看校对规则:

show collation like 'xxxx';//模糊查询
show collation;

例如:show collation like 'gbk%';   其实这句话时对库的查询。

3、gbk_ci  和gbk_bin的区别

gbk_ci校对规则是不区分字母大小写,但是gbk_ci通过拼音来排序了。这一特性utf8_generation_ci是没有的。

gbk_bin是通过字符Ascall编码来排序的。

可以通过语句:

select * from tbl_name order by 字段名;//检验

4、gbk和utf8的选用

当存储的是汉字时,用gbk字符集,占用两个字节。而用utf8要占用3个字节。但是gbk只适合大陆网站,utf8适合世界标准。至于如何选用要看做的方向。

01-19 04:09