文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


12.3.7 国家字符集

标准 SQL 定义 NCHARNATIONAL CHAR 作为一种方法来指示 CHAR 列应使用某些预定义的字符集。MySQL 使用 utf8 作为此预定义的字符集。例如,以下数据类型声明等效

Press CTRL+C to copy
CHAR(10) CHARACTER SET utf8 NATIONAL CHARACTER(10) NCHAR(10)

以下也是等效的

Press CTRL+C to copy
VARCHAR(10) CHARACTER SET utf8 NATIONAL VARCHAR(10) NVARCHAR(10) NCHAR VARCHAR(10) NATIONAL CHARACTER VARYING(10) NATIONAL CHAR VARYING(10)

可以使用 N'literal'(或 n'literal')来创建国家字符集中的字符串。以下语句等效

Press CTRL+C to copy
SELECT N'some text'; SELECT n'some text'; SELECT _utf8'some text';

MySQL 8.4 将国家字符集解释为 utf8mb3,该字符集现已弃用。因此,使用 NATIONAL CHARACTER 或其同义词之一来定义数据库、表或列的字符集会引发类似于以下内容的警告

Press CTRL+C to copy
NATIONAL/NCHAR/NVARCHAR implies the character set UTF8MB3, which will be replaced by UTF8MB4 in a future release. Please consider using CHAR(x) CHARACTER SET UTF8MB4 in order to be unambiguous.