字符集,描述可见到的图形,在存储和传输时使用的编码称之为字符集!
指的是:
图形与编码之间的对应关系!
字 =\> 11100101 11100001 00010100
![](264514052CA8EEA3BA18681C10F85AE5.png)
数据存储的编码
-------
数据是存储在服务器端的!究竟是以哪种编码保存的,怎么决定?
数据是最终要映射(保存)到字段的层面上!因此决定数据的编码,也是最终由字段来决定!
确定数据的存储编码是由以下的方案完成的:
1, 先看字段的编码!如果存在则确定完毕!
2, 如果字段没有设置编码,查看表的编码,如果有,则确定数据编码!
3, 如果表没有编码,查看库的编码,如果有,则确定数据编码!
4, 如果库也没有编码,则有服务器程序确定!
![](309E4758FA9443E27F6A4BB9E9CD9814.png)
典型的编码:gbk,utf8!
客户端操作,查询的编码
-----------
在客户端与服务器端交互时,存在两个重要的编码:
1, 客户端发送数据的编码
2, 客户端接收到服务器数据编码!
可以通过 show variables like ‘character\_set\_%’展示以character\_set开头变量,其中就有上面的两个值:
![](F0DE2762DA72541BB4EE5428D0275D52.png)
在命令行客户端下:
该客户端,只能是gbk编码!
![](FB4F5B38C80F4CF57D6B1A262CD357EF.png)
使用 set 变量名 = 变量值的形式更改变量值!
![](563BB3EDCAB0840207776E0437D4BA5E.png)
set names gbk,就是一个快捷操作,将上面两个配置同时更改成目标编码!
set names gbk|utf8 取决于,客户端所能接受的编码!
整体流程:
![](A872FA8132DA898A18D817776E802044.png)
set names gbk|utf8。