您的当前位置:首页正文

mysql数据库的字符编码问题

2020-11-09 来源:易榕旅网
本篇文章给大家带来的内容是关于mysql数据库的字符编码问题,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。【推荐教程:MySQL教程】

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

show variables like 'character_set%';

20190115214019598.jpg

第一个,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 三种。

20190115221324401.jpg2、查看校对规则:

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适合世界标准。至于如何选用要看做的方向。

显示全文