第三章 mysql字符集

第三章 mysql字符集

  • 字符集介绍
  • 字符集比较规则
  • 字符集与比较规则应用
  • 字符集一致

字符集介绍

我们知道计算机实际上存储的二进制数据,那么是如何存储字符串数据呢,是不是应该二进制与字符串之间有个映射关系,那么这个映射关系可以称为字符集
将字符映射成二进制数据过程叫做,编码,反之称为解码

  • UTF-8
    几乎收集当今世界各个国家、地区使用字符,通常编码一个字符需要1-4个字节
  • GB2312
    主要是收集了汉字以及拉丁字母等
  • 注意

UTF-8
字符集对中文汉字,占用3个字节,对于GB2312字符集只占用2个字节,对于一些交互场景(比如:asr与华为语音平台进行交互),为了节省空间,可以改变字符集实现。
但通常一些常用字符只占用1-3字节,用UTF-8,会浪费空间,这时mysql提供了阉割版的字符集是utf8mb3,但是存储一些表情,是需要四个字节,请使用utf8mb4,在mysql8版本,对utf8mb4进行了优化,设置为默认字符集

字符集比较规则

比较规则可以理解为:两个字符按照某个规则进行比较大小

  • 比较规则查看
    SHOW COLLATION [ LIKE 匹配的模式]
  • 规则命名含义
    例如 utf8_general_ci
    utf8 表示字符集
    _general 表示通用
    _ci 表示不区分大小写

字符集与比较规则应用

  • 设置级别
    服务器级别、数据库级别、表级别、列级别
  • 级别规则
    以就近原则为准
    比如:服务器级别进行设置了,那我该列也设置了,以列为准

字符集一致

客户端与服务器通信要设置字符集一致,负责会出现乱码现象

  • 详细过程
    第三章 mysql字符集_第1张图片

你可能感兴趣的:(mysql那些年,mysql,数据库)