MySQL 字符集



MySQL 字符集

MySQL 的字符集用于确定字符串中允许使用的字符集。它允许以各种字符编码存储数据。默认情况下,MySQL 使用“utf8mb4”字符集。

这些字符集提供了以下几种功能:

  • 存储多样性 - MySQL 允许以各种字符集存储字符串。
  • 字符串比较 - 排序规则有助于根据所选字符集比较字符串。
  • 混合字符集 - 可以在同一服务器、数据库或表中组合具有不同字符集或排序规则的字符串。
  • 指定字符集和排序规则 - 可以在数据库结构的不同级别定义字符集和排序规则。

MySQL SHOW CHARACTER SET

可以使用 MySQL 的SHOW CHARACTER SET语句查看所有可用字符集的列表。

语法

以下是 SHOW CHARACTER SET 语句的语法:

SHOW CHARACTER SET [LIKE 'pattern' | WHERE expr]

示例

以下查询检索 MySQL 数据库中可用字符集的列表,以及它们的描述、默认排序规则和最大长度:

SHOW CHARACTER SET;

输出

以下是获得的输出:

字符集 描述 默认排序规则 最大长度
armscii8 ARMSCII-8 阿尔门尼亚语 armscii8_general_ci 1
ascii US ASCII ascii_general_ci 1
big5 Big5 繁体中文 big5_chinese_ci 2
binary 二进制伪字符集 binary 1
cp1250 Windows 中欧 cp1250_general_ci 1
cp1251 Windows 西里尔字母 cp1251_general_ci 1
cp1256 Windows 阿拉伯语 cp1256_general_ci 1
cp1257 Windows 波罗的海 cp1257_general_ci 1
cp850 DOS 西欧 cp850_general_ci 1
cp852 DOS 中欧 cp852_general_ci 1
cp866 DOS 俄语 cp866_general_ci 1
cp932 Windows 日语 SJIS cp932_japanese_ci 2
dec8 DEC 西欧 dec8_swedish_ci 1
eucjpms Windows 日语 UJIS eucjpms_japanese_ci 3
euckr EUC-KR 韩语 euckr_korean_ci 2
gb18030 中国国家标准 GB18030 gb18030_chinese_ci 4
gb2312 GB2312 简体中文 gb2312_chinese_ci 2
gbk GBK 简体中文 gbk_chinese_ci 2
geostd8 GEOSTD8 格鲁吉亚语 geostd8_general_ci 1
greek ISO 8859-7 希腊语 greek_general_ci 1
hebrew ISO 8859-8 希伯来语 hebrew_general_ci 1
hp8 HP 西欧 hp8_english_ci 1
keybcs2 DOS Kamenicky 捷克-斯洛伐克语 keybcs2_general_ci 1
koi8r KOI8-R Relcom 俄语 koi8r_general_ci 1
koi8u KOI8-U 乌克兰语 koi8u_general_ci 1
latin1 cp1252 西欧 latin1_swedish_ci 1
latin2 ISO 8859-2 中欧 latin2_general_ci 1
latin5 ISO 8859-9 土耳其语 latin5_turkish_ci 1
latin7 ISO 8859-13 波罗的海 latin7_general_ci 1
macce Mac 中欧 macce_general_ci 1
macroman Mac 西欧 macroman_general_ci 1
sjis Shift-JIS 日语 sjis_japanese_ci 2
swe7 7bit 瑞典语 swe7_swedish_ci 1
tis620 TIS620 泰语 tis620_thai_ci 1
ucs2 UCS-2 Unicode ucs2_general_ci 2
ujis EUC-JP 日语 ujis_japanese_ci 3
utf16 UTF-16 Unicode utf16_general_ci 4
utf16le UTF-16LE Unicode utf16le_general_ci 4
utf32 UTF-32 Unicode utf32_general_ci 4
utf8mb3 UTF-8 Unicode utf8mb3_general_ci 3
utf8mb4 UTF-8 Unicode utf8mb4_0900_ai_ci 4

MySQL SET CHARACTER SET

MySQL 的SET CHARACTER SET语句用于为字符集属性赋值。它使用指定的映射集映射服务器和当前客户端之间的所有字符串。此语句会更改“character_set_client”和“character_set_results”变量的值。

语法

以下是 MySQL SET CHARACTER SET 语句的语法:

SET {CHARACTER SET | CHARSET} {'charset_name' | DEFAULT}

其中,“charset_name”是字符集的名称。

示例

以下查询将字符集设置为“macroman”:

SET CHARACTER SET macroman;

输出

生成的输出如下所示:

Query OK, 0 rows affected (0.10 sec)

验证

可以使用 SHOW VARIABLES LIKE 语句验证字符集的值,如下所示:

SHOW VARIABLES LIKE "character_set_client";

以下是获得的输出:

变量名
character_set_client macroman

现在验证“character_set_results”变量的当前值:

SHOW VARIABLES LIKE "character_set_results";

生成的输出如下所示:

变量名
character_set_results macroman
广告