字符集与校对集
首页->学习资料->微服务治理->sql教程 关键词: 发布时间:2014-12-22 02:52:49 浏览次数:1578

字符集

字符集,描述可见到的图形,在存储和传输时使用的编码称之为字符集!

指的是:

图形与编码之间的对应关系!

字 => 11100101 11100001 00010100


数据存储的编码

数据是存储在服务器端的!究竟是以哪种编码保存的,怎么决定?

数据是最终要映射(保存)到字段的层面上!因此决定数据的编码,也是最终由字段来决定!

 

确定数据的存储编码是由以下的方案完成的:

1,  先看字段的编码!如果存在则确定完毕!

2,  如果字段没有设置编码,查看表的编码,如果有,则确定数据编码!

3,  如果表没有编码,查看库的编码,如果有,则确定数据编码!

4,  如果库也没有编码,则有服务器程序确定!


客户端操作,查询的编码

在客户端与服务器端交互时,存在两个重要的编码:

1,  客户端发送数据的编码

2,  客户端接收到服务器数据编码!

可以通过 show variables like ‘character_set_%’展示以character_set开头变量,其中就有上面的两个值:



使用 set 变量名 = 变量值的形式更改变量值!

set character_set_client=gbk;

set character_set_results=gbk;

set names gbk,就是一个快捷操作,将上面两个配置同时更改成目标编码!

set names gbk|utf8 取决于,客户端所能接受的编码!


客户端发送一条sql:

客户端编码(character_set_client)->连接层编码(characger_set_connection)->服务器内部编码(server_internal)

 

服务器端发送结果:

服务器内部编码(server_internal)->连接层编码(characger_set_connection)->客户端接收的结果编码(character_set_results)


校对集,collate

指的是字符之间的比较关系,主要用于字段间的排序!

利用 show collation; 查看到所有的校对集!

校对集,依赖于字符集!

校对集,指的是,在某个字符集下,字符的排序关系应该是什么,称之为校对集!


我们典型的选择:

utf8_general_ci;

utf8_unicode_ci;

典型的后缀:

_bin 二进制编码层面直接比较:

_ci 忽略大小写(大小写不敏感)比较

_cs 大小写敏感比较

赞:(0)
踩:(0)
相关文章
find_in_set在集合中查找
sql查询自定义排序field函数
sql显示表结构及索引
sql修改表
添加、删除索引
sql分组
sql子查询
sql多表更新
sql建表同时插入数据
sql多表删除
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:946734
粤ICP备18028092号-1  微信:hurong241