MySQL 8.0 参考手册  /  第 10 章字符集、排序规则、Unicode

第 10 章字符集、排序规则、Unicode

目录

10.1 一般字符集和排序规则
10.2 MySQL 中的字符集和排序规则
10.2.1 字符集指令表
10.2.2 元数据的 UTF-8
10.3 指定字符集和归类
10.3.1 归类命名约定
10.3.2 服务器字符集和排序规则
10.3.3 数据库字符集和排序规则
10.3.4 表字符集和排序规则
10.3.5 列字符集和排序规则
10.3.6 字符串文字字符集和排序规则
10.3.7 国家字符集
10.3.8 字符集介绍者
10.3.9 字符集和归类分配示例
10.3.10 与其他 DBMS 的兼容性
10.4 连接字符集和排序规则
10.5 配置应用程序字符集和排序规则
10.6 错误信息字符集
10.7 列字符集转换
10.8 整理问题
10.8.1 在 SQL 语句中使用 COLLATE
10.8.2 COLLATE 子句优先级
10.8.3 字符集和排序规则兼容性
10.8.4 表达式中的排序规则强制性
10.8.5 二进制排序规则与 _bin 排序规则的比较
10.8.6 整理效果示例
10.8.7 在 INFORMATION_SCHEMA 搜索中使用排序规则
10.9 Unicode 支持
10.9.1 utf8mb4 字符集(4 字节 UTF-8 Unicode 编码)
10.9.2 utf8mb3 字符集(3 字节 UTF-8 Unicode 编码)
10.9.3 utf8 字符集(utf8mb3 的别名)
10.9.4 ucs2字符集(UCS-2 Unicode编码)
10.9.5 utf16字符集(UTF-16 Unicode编码)
10.9.6 utf16le字符集(UTF-16LE Unicode编码)
10.9.7 utf32字符集(UTF-32 Unicode编码)
10.9.8 在 3 字节和 4 字节 Unicode 字符集之间转换
10.10 支持的字符集和归类
10.10.1 Unicode 字符集
10.10.2 西欧字符集
10.10.3 中欧字符集
10.10.4 南欧和中东字符集
10.10.5 波罗的海字符集
10.10.6 西里尔字符集
10.10.7 亚洲字符集
10.10.8 二进制字符集
10.11 字符集限制
10.12 设置错误信息语言
10.13 添加字符集
10.13.1 字符定义数组
10.13.2 复杂字符集的字符串整理支持
10.13.3 复杂字符集的多字节字符支持
10.14 向字符集添加归类
10.14.1 归类实现类型
10.14.2 选择归类 ID
10.14.3 向 8 位字符集添加简单归类
10.14.4 向 Unicode 字符集添加 UCA 归类
10.15 字符集配置
10.16 MySQL 服务器语言环境支持

MySQL 包括字符集支持,使您能够使用各种字符集存储数据并根据各种排序规则进行比较。默认的 MySQL 服务器字符集和排序规则是utf8mb4and utf8mb4_0900_ai_ci,但您可以在服务器、数据库、表、列和字符串文字级别指定字符集。

本章讨论以下主题:

  • 什么是字符集和排序规则?

  • 字符集分配的多级默认系统。

  • 用于指定字符集和排序规则的语法。

  • 受影响的功能和操作。

  • 统一码支持。

  • 可用的字符集和排序规则,带有注释。

  • 选择错误消息的语言。

  • 为日期和月份名称选择语言环境。

字符集问题不仅会影响数据存储,还会影响客户端程序与 MySQL 服务器之间的通信。如果您希望客户端程序使用与默认字符集不同的字符集与服务器通信,则需要指明是哪一个。例如,要使用utf8mb4 Unicode 字符集,请在连接到服务器后发出以下语句:

SET NAMES 'utf8mb4';

有关为应用程序使用配置字符集和客户端/服务器通信中与字符集相关的问题的更多信息,请参阅第 10.5 节,“配置应用程序字符集和排序规则”第 10.4 节,“连接字符集和排序规则”