MySQL 查看字符集与校对规则

MySQL 查看字符集与校对规则

一、查看所有可用的字符集

1. 使用 `SHOW CHARACTER SET;` 命令

这是最直接的方法,结果清晰,包含四列关键信息:

`Charset`:字符集名称(如 `utf8mb4`)。

`Description`:字符集描述。

`Default collation`:该字符集的**默认校对规则**。

`Maxlen`:该字符集中**单个字符最多占用的字节数**。这是选择字符集的重要依据(例如,`utf8` 的 `Maxlen` 是 3,而 `utf8mb4` 是 4,后者才能存储表情符号)。

2. 查询 `information_schema.character_sets` 系统表

SELECT * FROM information_schema.character_sets;

这种方法更适合通过 SQL 条件进行过滤查询,获取到的信息与 `SHOW CHARACTER SET;` 基本相同。

常用字符集速查:

字符集描述最大字节长度推荐使用场景utf8mb4真正的 UTF-8 Unicode4绝对首选,支持所有语言和表情符号(emoji)utf8阉割版的 UTF-8 (仅支持基本多文种平面字符)3旧系统遗留,不推荐新项目使用gbk中文简体2仅处理简体中文的旧系统latin1西欧字符1MySQL 5.x 的默认字符集,不推荐ascii美国 ASCII1仅需存储英文、数字、符号时

二、查看特定字符集的校对规则

1. 使用 `SHOW COLLATION` 命令

查看所有校对规则:

SHOW COLLATION;

查看特定字符集(如 `gbk`)的校对规则(**您演示的方法非常常用**):

SHOW COLLATION LIKE 'gbk%';

结果中的关键列:

`Collation`:校对规则名称。

`Charset`:该校对规则对应的字符集。

`Default`:是否为该字符集的默认校对规则(`Yes` / `""`)。

`Compiled`:是否已编译到服务器中。

2. 查询 `information_schema.collations` 系统表

SELECT * FROM information_schema.collations WHERE CHARACTER_SET_NAME = 'gbk';

通过 `WHERE` 条件过滤,效果与 `SHOW COLLATION LIKE 'gbk%';` 相同。

三、理解并测试校对规则(您提供的例子非常经典)

使用 gbk_chinese_ci (case insensitive) 校对规则比较,不区分大小写

SELECT CASE WHEN 'A' COLLATE gbk_chinese_ci = 'a' COLLATE gbk_chinese_ci THEN 1 ELSE 0 END;

结果: 1 (相等)

使用 gbk_bin (binary) 校对规则比较,区分大小写

SELECT CASE WHEN 'A' COLLATE gbk_bin = 'a' COLLATE gbk_bin THEN 1 ELSE 0 END;

结果: 0 (不相等)

四、查看当前服务器、数据库、连接的字符集/校对规则设置

查看字符集设置:

SHOW VARIABLES LIKE 'character_set_%';查看校对规则设置:

SHOW VARIABLES LIKE 'collation_%';

相关推荐

乐驾行车记录仪官网是哪个? 流媒体后视镜 车载微信怎么样?
迷你世界地狱门怎么做2025
www.bst365.com

迷你世界地狱门怎么做2025

📅 09-16 👁️ 3946
肉毒多久見效?這些術後地雷千萬別踩,效果翻倍不靠運氣!