MySQL - 字符集
MySQL 字符集
MySQL 字符集用于确定字符串中允许使用的字符集。它允许以各种字符编码存储数据。默认情况下,MySQL 使用"utf8mb4"字符集。
这些字符集提供了多种功能 -
- 存储多样性 - MySQL 允许使用各种字符集存储字符串。
- 字符串比较 - 排序规则有助于根据所选字符集比较字符串。
- 混合字符集 - 可以在同一服务器、数据库或表中组合使用不同字符集或排序规则的字符串。
- 指定字符集和排序规则 - 您可以在数据库结构的不同级别定义字符集和排序规则。
MySQL 显示字符集
您可以使用 MySQL SHOW CHARACTER SET 语句来查看所有可用字符集的列表。
语法
以下是 SHOW CHARACTER SET 语句的语法 -
SHOW CHARACTER SET [LIKE 'pattern' | WHERE expr]
示例
以下查询检索 MySQL 数据库中可用字符集的列表,以及它们的描述、默认排序规则和最大长度 -
SHOW CHARACTER SET;
输出
以下是获得的输出 -
Charset | Description | Default collation | Maxlen |
---|---|---|---|
armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
ascii | US ASCII | ascii_general_ci | 1 |
big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
binary | Binary pseudo charset | binary | 1 |
cp1250 | Windows Central European | cp1250_general_ci | 1 |
cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
cp1256 | Windows Arabic | cp1256_general_ci | 1 |
cp1257 | Windows Baltic | cp1257_general_ci | 1 |
cp850 | DOS West European | cp850_general_ci | 1 |
cp852 | DOS Central European | cp852_general_ci | 1 |
cp866 | DOS Russian | cp866_general_ci | 1 |
cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
dec8 | DEC West European | dec8_swedish_ci | 1 |
eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
euckr | EUC-KR Korean | euckr_korean_ci | 2 |
gb18030 | China National Standard GB18030 | gb18030_chinese_ci | 4 |
gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
greek | ISO 8859-7 Greek | greek_general_ci | 1 |
hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
hp8 | HP West European | hp8_english_ci | 1 |
keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
latin1 | cp1252 West European | latin1_swedish_ci | 1 |
latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
macce | Mac Central European | macce_general_ci | 1 |
macroman | Mac West European | macroman_general_ci | 1 |
sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
tis620 | TIS620 Thai | tis620_thai_ci | 1 |
ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
ujis | EUC-JP Japanese | 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 设置字符集
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";
以下是获得的输出 -
Variable_name | Value |
---|---|
character_set_client | macroman |
现在验证"character_set_results"变量的当前值 -
SHOW VARIABLES LIKE "character_set_results";
生成的结果如下所示 -
Variable_name | Value |
---|---|
character_set_results | macroman |