一、通过命令行显示字符集设置
show variables like 'character_set%';
第一个,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 三种。
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适合世界标准。至于如何选用要看做的方向。