字符集:指符号和字符编码的集合。
校对规则:比较字符编码的方式。
GBK2312:主要包括简体中文字符及常用符号,对于中文字符采用双字节编码的格式,也就是说一个汉字字符在存储占两个字节。
GBK:包括有中、日、韩字符的大字符集,GB2312也是GBK的一个子集,就是说GB2312中的所有字符,GBK中全有,在这种情况下,我们也会将GBK称为GB2312的超集,GBK也是双字节编码的格式,将子集中的字符转换成超集中保存不会丢失信息(出现乱码);但反之则不一定。

UTF-8:它对于英文字符集使用一个字节编码,而对于多字节符(如中文)则使用3个字节编码,UTF-8能够支持大部分常见的字符,包括西、中、日、韩、法、俄等各种文字,因此意以上提到的几种字符集都视为UTF-8的子集。

UTF-8MB4:它是UTF-8的超集,是MySQL5.5版本才引进的,其引进是为了处理像emoji这类表情字符,一个字符使用4个字节编码,能支持的字符最广,但是相应占用的空间也最大。

一个字符集至少会有一个校对规则,显示字符集的校对规则可以使用show collation 语句

mysql数据库中字符集的校对规则都有一些共同的特点:

1.每种校对规则只能属于一种字符集,
2.每个字符集都有一个默认的校对规则
3.校对规则的名称也有规则,通常开头的字符是校对规则所属的字符集,而后是其所属的语言,最后是校对规则类型的简写形式,有下列3种格式:
。_cs:全称为case insensitive,这表示大小写不敏感的规则
_cs:全称为case sensitive,这表示大小写敏感的规则
_bin :即binary,表示这是一个二元校对规则,话说二元规则也是一定是大小写敏感规则

MySQL服务响应客户端操作的字符的字符集和客户端信息处理过程:

1.客户端发出的SQL语句,所使用的字符集由系统变量character_set_client来指定
2.MySQL服务端接收语句后,会用character_set_connection和collation_connection两个系统变量中的设置,并且会将客户端发送的语句字符集由character_set_client转到character_set_connection(除非用户执行语句时,已经对字符列明确指定了字符集)。对于语句中指定的字符串比较或排序,还需要应用collation_connection中指定的校对规则处理,而对于语句中指定的列的比较则无关collation_connection的设置了,因为对象的列表拥有自己的校对规则,他们拥有更高的优先级
3.MySQL服务执行完语句后,会按照character_set_result系统变量设置的字符集返回结果集(或错误信息)到客户端。
可以用语句:show global variables like 'character_set_\%';查看这些系统变量设置。

固化连接时的字符集设置:

SET NAMES和SET CHARACTER SET命令都是基于会话设定的,也就是说,仅作用于当前会话,退出登录后所做设置也就失效,如果希望设置长期有效,可以在启动MySQL服务时,通过设置相关系统变量,达到永久生效的目的,可以到参数文件my.ini增加一行:
[mysql]
default-character-set=gbk
这样,只要我们使用mysql命令行工具连接服务器后,连接的默认字符集就都会是设定好的GBK字符集。

mysql中对字符集和校对规则的认识的更多相关文章

  1. mysql中的字符集和校对规则(mysql校对集)

    1.简要说明介绍 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则. MySql在collation提供较强的支持,oracel在这方面没查到相应的资料. 不同字符 ...

  2. mysql中字符集和校对规则

    首先,明确一下字符集和校对规则的概念:    字符集(charset):是一套符号和编码    校对规则(collation):是在字符集内用于比较字符的一套规则,比如有的规则区分大小写,有的则无视 ...

  3. mysql字符集和校对规则(Mysql校对集)

    字符集的概念大家都清楚,校对规则很多人不了解,一般数据库开发中也用不到这个概念,mysql在这方便貌似很先进,大概介绍一下简要说明 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用于比 ...

  4. mysql创建数据库指定字符集和校对规则

    mysql创建数据库的语法格式: CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] ...

  5. 【mysql】 数据库字符集和排序规则

    库的字符集影响表和字段的字符集 数据库字符集 >表的字符集 > 字段的字符集 (从前往后优先级由低到高,从左往右继承,如果表没设置字符集,继承数据库的,如果字段没设置,继承表的) 数据库的 ...

  6. MySQL 字符集和校对

    字符集是指一种从二进制编码到某类字符符号的映射,校对是一组用于某个字符集的排序规则.每一类编码字符都有其对应的字符集和校对规则 MySQL 如何使用字符集 每种字符集都可能有多种校对规则,并且都有一个 ...

  7. 关于mysql中字符集和排序规则说明

    文章转自 http://blog.csdn.net/smallSBoy/article/details/52997138 数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set ...

  8. mysql字符集和排序规则

    1.关于字符集和排序规则所为字符集,就是用来定义字符在数据库中的编码的集合.常见的字符集有:utf8(支持中文)和AccIS(不支持中文) 数据库中的排序规则用来定义字符在进行排序和比较的时候的一种规 ...

  9. MySQL 是怎样运行的:从根儿上理解 MySQL:字符集和比较规则

    本文章借鉴自https://juejin.im/book/5bffcbc9f265da614b11b731 字符集和比较规则简介 一些重要的字符集 ASCII字符集 共收录128个字符,包括空格.标点 ...

随机推荐

  1. c#params应用

    params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候. 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允 ...

  2. Java实现归并排序和快速排序

    参考http://blog.csdn.net/morewindows/article/details/6684558和http://developer.51cto.com/art/201206/344 ...

  3. [转载] Quartz作业调度框架

    转载自http://yangpanwww.iteye.com/blog/797563 Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中.它提 ...

  4. RabbitMQ之Topics(多规则路由)

    Exchange中基于direct类型无法基于多种规则进行路由. 例如分析syslog日志,不仅需要基于severity(info/warning/critical/error)进行路由,还需要基于a ...

  5. JavaScript高级程序设计之自学笔记(一)————Array类型

    以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在 ...

  6. ligerUI---下拉菜单(menubar)动态显示(从后台获取数据)

    写在前面: ligerui的下拉菜单是有点丑的,这也是没有办法的事........这里主要记录下,如何从后台获取数据进行菜单显示. 有两种方式:1.使用json数组来动态添加  2.字符串拼接.  其 ...

  7. mysql数据库表卡死解决方法

    ---恢复内容开始--- 问题引起原因: 由于在执行大量插入操作的时候意外终止程序之后, MySQl的线程并没有被终止,导致表不能打开和操作 -  解决思路就是找到等待的线程并kill -- 查看所有 ...

  8. Microsoft SQL Server 2008 R2数据库备份 - 人工备份

    业务介绍 数据库人工备份是指由相关管理人员通过主动的手工方式备份数据库文件.在一些特殊的时间节点,如重要资料的录入完成.软硬件环境更新前等需要特别关注数据库安全的时候,一定要进行数据库的人工备份,以保 ...

  9. openGL光源概念

    1. 光照模型      环境光——经过多次反射而来的光称为环境光,无法确定其最初的方向,但当特定的光源关闭后,它们将消失. 全局环境光——每个光源都能对场景提供环境光.此外,还有一个环境光,它不来自 ...

  10. 快速增加controller节点

    # controller1节点部署成功后,再添加controller节点,复制配置文件并修改即可openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p ...