字符集
字符编码概念
字符(character)是各种文字和符号的总称,包括国家文字、标点符号、数字等。
在计算机看到的任何内容,都是字符构成的。
字符编码(character code)是计算机针对各种符号,在计算机的一种二进制存储代号。
字符集概念
字符集(character set)是多个字符的集合,字符集种类比较多,每个字符集包含的字符个数不同。
常见的字符集名称:ASII字符集、GB2312字符集、BIG5字符集、Unicode等。
计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。中文字数数目比较大,且分为简体和繁体中文两种不同书写的文字,而计算机按英语单字节字符设计的。因此,对中文进行编码,是中文信息交流的基础。
设置客户端所有字符集
直接通过cmd下的mysql.exe直接插入中文数据,可能出错,我这里并未报错,是因为我这里使用的是UTF8编码。
快捷方式:set names 字符集
深层处理:客户端,服务端,连接层(show variables like ‘character set_%’)
mysql.exe 与mysqld.exe之间处理关系一共分为三层
客户端传入数据给服务端:client: character_set_client
服务端返回数据给客户端:server: character_set_results
客户端与服务端之间的连接:collection: character_set_connection
Set names 字符集的本质,就是一次性打通三层关系的字符集,变得一致。
在系统中有三个变量来记录着对应的字符集:
show variables like ‘character_set_%’;
– 查看系统保存的三种关系处理字符集
show variables like ‘character_set%’;
– 修改变量
set character_set_client =utf8
查询数据
select * from my_teacher;
connection:只是为了更方便客户端与服务端进行字符集转换而设。
set names gbk;
set character_set_client = gbk; //为了让服务器识别客户端传来的数据
set character_set_connection = gbk; //为了帮助客户端与服务端之间进行字符集的操作
**set character_set_results = gbk; **//为了告诉客户端服务端所有的返回的数据字符集