PostgreSQL 的字符集支持允许您以多种字符集(也称为编码)存储文本,包括单字节字符集,例如 ISO 8859 系列,以及多字节字符集,例如EUC(扩展 Unix 代码)、UTF-8 和 Mule 内部代码。所有支持的字符集都可以被客户端透明地使用,但有少数不支持在服务器内部使用(即作为服务器端编码)。默认字符集是在使用 initdb
初始化您的 PostgreSQL 数据库集群时选定的。可以在创建数据库时覆盖此设置,因此您可以拥有多个具有不同字符集的数据库。
然而,一个重要的限制是,每个数据库的字符集必须与数据库的 LC_CTYPE
(字符分类)和 LC_COLLATE
(字符串排序顺序)区域设置兼容。对于 C
或 POSIX
区域设置,任何字符集都允许使用,但对于其他 libc 提供的区域设置,只有一个字符集能够正常工作。(但在 Windows 上,UTF-8 编码可以与任何区域设置一起使用。)如果您配置了 ICU 支持,则 ICU 提供的区域设置可以与大多数(但并非所有)服务器端编码一起使用。
表 23.3 显示了 PostgreSQL 中可用的字符集。
表 23.3. PostgreSQL 字符集
名称 | 描述 | 语言 | 服务器? | ICU? | 字节/字符 | 别名 |
---|---|---|---|---|---|---|
BIG5 |
Big Five | 繁体中文 | 否 | 否 | 1–2 | WIN950 , Windows950 |
EUC_CN |
扩展 UNIX 代码-CN | 简体中文 | 是 | 是 | 1–3 | |
EUC_JP |
扩展 UNIX 代码-JP | 日文 | 是 | 是 | 1–3 | |
EUC_JIS_2004 |
扩展 UNIX 代码-JP, JIS X 0213 | 日文 | 是 | 否 | 1–3 | |
EUC_KR |
扩展 UNIX 代码-KR | 韩文 | 是 | 是 | 1–3 | |
EUC_TW |
扩展 UNIX 代码-TW | 繁体中文,台湾 | 是 | 是 | 1–4 | |
GB18030 |
国家标准 | 中文 | 否 | 否 | 1–4 | |
GBK |
扩展国家标准 | 简体中文 | 否 | 否 | 1–2 | WIN936 , Windows936 |
ISO_8859_5 |
ISO 8859-5,ECMA 113 | 拉丁语/西里尔语 | 是 | 是 | 1 | |
ISO_8859_6 |
ISO 8859-6,ECMA 114 | 拉丁语/阿拉伯语 | 是 | 是 | 1 | |
ISO_8859_7 |
ISO 8859-7,ECMA 118 | 拉丁语/希腊语 | 是 | 是 | 1 | |
ISO_8859_8 |
ISO 8859-8,ECMA 121 | 拉丁语/希伯来语 | 是 | 是 | 1 | |
JOHAB |
JOHAB | 韩语(Hangul) | 否 | 否 | 1–3 | |
KOI8R |
KOI8-R | 西里尔语(俄语) | 是 | 是 | 1 | KOI8 |
KOI8U |
KOI8-U | 西里尔语(乌克兰语) | 是 | 是 | 1 | |
LATIN1 |
ISO 8859-1,ECMA 94 | 西欧 | 是 | 是 | 1 | ISO88591 |
LATIN2 |
ISO 8859-2,ECMA 94 | 中欧 | 是 | 是 | 1 | ISO88592 |
LATIN3 |
ISO 8859-3,ECMA 94 | 南欧 | 是 | 是 | 1 | ISO88593 |
LATIN4 |
ISO 8859-4,ECMA 94 | 北欧 | 是 | 是 | 1 | ISO88594 |
LATIN5 |
ISO 8859-9,ECMA 128 | 土耳其语 | 是 | 是 | 1 | ISO88599 |
LATIN6 |
ISO 8859-10,ECMA 144 | 北欧 | 是 | 是 | 1 | ISO885910 |
LATIN7 |
ISO 8859-13 | 波罗的海 | 是 | 是 | 1 | ISO885913 |
LATIN8 |
ISO 8859-14 | 凯尔特 | 是 | 是 | 1 | ISO885914 |
LATIN9 |
ISO 8859-15 | LATIN1,带欧元和重音符号 | 是 | 是 | 1 | ISO885915 |
LATIN10 |
ISO 8859-16,ASROSR 14111 | 罗马尼亚语 | 是 | 否 | 1 | ISO885916 |
MULE_INTERNAL |
Mule 内部代码 | 多语言 Emacs | 是 | 否 | 1–4 | |
SJIS |
Shift JIS | 日文 | 否 | 否 | 1–2 | Mskanji , ShiftJIS , WIN932 , Windows932 |
SHIFT_JIS_2004 |
Shift JIS, JIS X 0213 | 日文 | 否 | 否 | 1–2 | |
SQL_ASCII |
未指定(参见文本) | 任意 | 是 | 否 | 1 | |
UHC |
统一韩文代码 | 韩文 | 否 | 否 | 1–2 | WIN949 , Windows949 |
UTF8 |
Unicode, 8 位 | 所有 | 是 | 是 | 1–4 | Unicode |
WIN866 |
Windows CP866 | 西里尔语 | 是 | 是 | 1 | ALT |
WIN874 |
Windows CP874 | 泰语 | 是 | 否 | 1 | |
WIN1250 |
Windows CP1250 | 中欧 | 是 | 是 | 1 | |
WIN1251 |
Windows CP1251 | 西里尔语 | 是 | 是 | 1 | WIN |
WIN1252 |
Windows CP1252 | 西欧 | 是 | 是 | 1 | |
WIN1253 |
Windows CP1253 | 希腊语 | 是 | 是 | 1 | |
WIN1254 |
Windows CP1254 | 土耳其语 | 是 | 是 | 1 | |
WIN1255 |
Windows CP1255 | 希伯来文 | 是 | 是 | 1 | |
WIN1256 |
Windows CP1256 | 阿拉伯语 | 是 | 是 | 1 | |
WIN1257 |
Windows CP1257 | 波罗的海 | 是 | 是 | 1 | |
WIN1258 |
Windows CP1258 | 越南语 | 是 | 是 | 1 | ABC , TCVN , TCVN5712 , VSCII |
并非所有客户端API都支持所有列出的字符集。例如,PostgreSQL JDBC 驱动程序不支持 MULE_INTERNAL
、LATIN6
、LATIN8
和 LATIN10
。
设置 SQL_ASCII
的行为与设置不同。当服务器字符集为 SQL_ASCII
时,服务器将字节值 0-127 按 ASCII 标准解释,而字节值 128-255 被视为未解释的字符。当设置为 SQL_ASCII
时,不会进行编码转换。因此,此设置与其说是声明正在使用特定编码,不如说是声明对编码一无所知。在大多数情况下,如果您使用任何非 ASCII 数据,使用 SQL_ASCII
设置是不明智的,因为 PostgreSQL 将无法通过转换或验证非 ASCII 字符来帮助您。
initdb
定义了 PostgreSQL 集群的默认字符集(编码)。例如,
initdb -E EUC_JP
将默认字符集设置为 EUC_JP
(日语扩展 Unix 代码)。如果您喜欢更长的选项字符串,可以使用 --encoding
代替 -E
。如果未提供 -E
或 --encoding
选项,initdb
会尝试根据指定的或默认的区域设置来确定要使用的合适编码。
您可以在数据库创建时指定一个非默认编码,前提是该编码与所选区域设置兼容
createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr korean
这将创建一个名为 korean
的数据库,使用 EUC_KR
字符集和 ko_KR
区域设置。另一种实现此目的的方法是使用此 SQL 命令
CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;
请注意,上述命令指定复制 template0
数据库。复制任何其他数据库时,编码和区域设置不能从源数据库更改,因为这可能会导致数据损坏。有关更多信息,请参阅 第 22.3 节。
数据库的编码存储在系统目录 pg_database
中。您可以使用 psql
的 -l
选项或 \l
命令查看它。
$ psql -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access Privileges
-----------+----------+-----------+-------------+-------------+-------------------------------------
clocaledb | hlinnaka | SQL_ASCII | C | C |
englishdb | hlinnaka | UTF8 | en_GB.UTF8 | en_GB.UTF8 |
japanese | hlinnaka | UTF8 | ja_JP.UTF8 | ja_JP.UTF8 |
korean | hlinnaka | EUC_KR | ko_KR.euckr | ko_KR.euckr |
postgres | hlinnaka | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 |
template0 | hlinnaka | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {=c/hlinnaka,hlinnaka=CTc/hlinnaka}
template1 | hlinnaka | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {=c/hlinnaka,hlinnaka=CTc/hlinnaka}
(7 rows)
在大多数现代操作系统上,PostgreSQL 可以确定 LC_CTYPE
设置所暗示的字符集,并且它将强制只使用匹配的数据库编码。在旧系统上,您有责任确保使用所选区域设置所期望的编码。此区域的错误很可能会导致依赖区域设置的操作(如排序)出现奇怪的行为。
PostgreSQL 允许超级用户创建 SQL_ASCII
编码的数据库,即使 LC_CTYPE
不是 C
或 POSIX
。如上所述,SQL_ASCII
不会强制数据库中存储的数据具有任何特定编码,因此此选择存在依赖区域设置的错误行为的风险。使用此设置组合已被弃用,并且将来可能会完全禁止。
PostgreSQL 支持服务器和客户端之间的自动字符集转换,支持许多字符集组合(第 23.3.4 节 显示了哪些字符集支持转换)。
要启用自动字符集转换,您必须告知 PostgreSQL 您希望在客户端使用的字符集(编码)。有几种方法可以实现这一点:
在 psql 中使用 \encoding
命令。\encoding
允许您动态更改客户端编码。例如,要将编码更改为 SJIS
,请键入:
\encoding SJIS
libpq(第 32.11 节)具有控制客户端编码的函数。
使用 SET client_encoding TO
。可以使用此 SQL 命令设置客户端编码:
SET CLIENT_ENCODING TO 'value
';
您也可以为此目的使用标准的 SQL 语法 SET NAMES
:
SET NAMES 'value
';
要查询当前的客户端编码:
SHOW client_encoding;
要返回默认编码:
RESET client_encoding;
使用 PGCLIENTENCODING
。如果客户端环境中的环境变量 PGCLIENTENCODING
已定义,则在与服务器建立连接时会自动选择该客户端编码。(随后可以使用上述任何其他方法覆盖此设置。)
使用配置变量 client_encoding。如果设置了 client_encoding
变量,则在与服务器建立连接时会自动选择该客户端编码。(随后可以使用上述任何其他方法覆盖此设置。)
如果无法转换特定字符——假设您为服务器选择了 EUC_JP
,为客户端选择了 LATIN1
,并且返回了一些在 LATIN1
中没有表示的日文字符——则会报告一个错误。
如果客户端字符集设置为 SQL_ASCII
,则无论服务器字符集如何,编码转换都将被禁用。(但是,如果服务器的字符集不是 SQL_ASCII
,服务器仍然会检查传入数据是否对于该编码有效;因此净效应就像客户端字符集与服务器相同一样。)就像对服务器一样,除非您处理的是全 ASCII 数据,否则使用 SQL_ASCII
是不明智的。
PostgreSQL 允许在 pg_conversion
系统目录中列出了转换函数的任何两个字符集之间进行转换。PostgreSQL 附带了一些预定义的转换,如 表 23.4 中所述,并在 表 23.5 中更详细地显示。您可以使用 SQL 命令 CREATE CONVERSION 创建新的转换。(为了用于自动客户端/服务器转换,转换必须被标记为其字符集对的“默认”。)
表 23.4. 内置客户端/服务器字符集转换
服务器字符集 | 可用的客户端字符集 |
---|---|
BIG5 |
不支持作为服务器编码 |
EUC_CN |
EUC_CN, MULE_INTERNAL , UTF8 |
EUC_JP |
EUC_JP, MULE_INTERNAL , SJIS , UTF8 |
EUC_JIS_2004 |
EUC_JIS_2004, SHIFT_JIS_2004 , UTF8 |
EUC_KR |
EUC_KR, MULE_INTERNAL , UTF8 |
EUC_TW |
EUC_TW, BIG5 , MULE_INTERNAL , UTF8 |
GB18030 |
不支持作为服务器编码 |
GBK |
不支持作为服务器编码 |
ISO_8859_5 |
ISO_8859_5, KOI8R , MULE_INTERNAL , UTF8 , WIN866 , WIN1251 |
ISO_8859_6 |
ISO_8859_6, UTF8 |
ISO_8859_7 |
ISO_8859_7, UTF8 |
ISO_8859_8 |
ISO_8859_8, UTF8 |
JOHAB |
不支持作为服务器编码 |
KOI8R |
KOI8R, ISO_8859_5 , MULE_INTERNAL , UTF8 , WIN866 , WIN1251 |
KOI8U |
KOI8U, UTF8 |
LATIN1 |
LATIN1, MULE_INTERNAL , UTF8 |
LATIN2 |
LATIN2, MULE_INTERNAL , UTF8 , WIN1250 |
LATIN3 |
LATIN3, MULE_INTERNAL , UTF8 |
LATIN4 |
LATIN4, MULE_INTERNAL , UTF8 |
LATIN5 |
LATIN5, UTF8 |
LATIN6 |
LATIN6, UTF8 |
LATIN7 |
LATIN7, UTF8 |
LATIN8 |
LATIN8, UTF8 |
LATIN9 |
LATIN9, UTF8 |
LATIN10 |
LATIN10, UTF8 |
MULE_INTERNAL |
MULE_INTERNAL, BIG5 , EUC_CN , EUC_JP , EUC_KR , EUC_TW , ISO_8859_5 , KOI8R , LATIN1 至 LATIN4 , SJIS , WIN866 , WIN1250 , WIN1251 |
SJIS |
不支持作为服务器编码 |
SHIFT_JIS_2004 |
不支持作为服务器编码 |
SQL_ASCII |
任意(不执行转换) |
UHC |
不支持作为服务器编码 |
UTF8 |
所有支持的编码 |
WIN866 |
WIN866, ISO_8859_5 , KOI8R , MULE_INTERNAL , UTF8 , WIN1251 |
WIN874 |
WIN874, UTF8 |
WIN1250 |
WIN1250, LATIN2 , MULE_INTERNAL , UTF8 |
WIN1251 |
WIN1251, ISO_8859_5 , KOI8R , MULE_INTERNAL , UTF8 , WIN866 |
WIN1252 |
WIN1252, UTF8 |
WIN1253 |
WIN1253, UTF8 |
WIN1254 |
WIN1254, UTF8 |
WIN1255 |
WIN1255, UTF8 |
WIN1256 |
WIN1256, UTF8 |
WIN1257 |
WIN1257, UTF8 |
WIN1258 |
WIN1258, UTF8 |
表 23.5. 所有内置字符集转换
转换名称 [a] | 源编码 | 目标编码 |
---|---|---|
big5_to_euc_tw |
BIG5 |
EUC_TW |
big5_to_mic |
BIG5 |
MULE_INTERNAL |
big5_to_utf8 |
BIG5 |
UTF8 |
euc_cn_to_mic |
EUC_CN |
MULE_INTERNAL |
euc_cn_to_utf8 |
EUC_CN |
UTF8 |
euc_jp_to_mic |
EUC_JP |
MULE_INTERNAL |
euc_jp_to_sjis |
EUC_JP |
SJIS |
euc_jp_to_utf8 |
EUC_JP |
UTF8 |
euc_kr_to_mic |
EUC_KR |
MULE_INTERNAL |
euc_kr_to_utf8 |
EUC_KR |
UTF8 |
euc_tw_to_big5 |
EUC_TW |
BIG5 |
euc_tw_to_mic |
EUC_TW |
MULE_INTERNAL |
euc_tw_to_utf8 |
EUC_TW |
UTF8 |
gb18030_to_utf8 |
GB18030 |
UTF8 |
gbk_to_utf8 |
GBK |
UTF8 |
iso_8859_10_to_utf8 |
LATIN6 |
UTF8 |
iso_8859_13_to_utf8 |
LATIN7 |
UTF8 |
iso_8859_14_to_utf8 |
LATIN8 |
UTF8 |
iso_8859_15_to_utf8 |
LATIN9 |
UTF8 |
iso_8859_16_to_utf8 |
LATIN10 |
UTF8 |
iso_8859_1_to_mic |
LATIN1 |
MULE_INTERNAL |
iso_8859_1_to_utf8 |
LATIN1 |
UTF8 |
iso_8859_2_to_mic |
LATIN2 |
MULE_INTERNAL |
iso_8859_2_to_utf8 |
LATIN2 |
UTF8 |
iso_8859_2_to_windows_1250 |
LATIN2 |
WIN1250 |
iso_8859_3_to_mic |
LATIN3 |
MULE_INTERNAL |
iso_8859_3_to_utf8 |
LATIN3 |
UTF8 |
iso_8859_4_to_mic |
LATIN4 |
MULE_INTERNAL |
iso_8859_4_to_utf8 |
LATIN4 |
UTF8 |
iso_8859_5_to_koi8_r |
ISO_8859_5 |
KOI8R |
iso_8859_5_to_mic |
ISO_8859_5 |
MULE_INTERNAL |
iso_8859_5_to_utf8 |
ISO_8859_5 |
UTF8 |
iso_8859_5_to_windows_1251 |
ISO_8859_5 |
WIN1251 |
iso_8859_5_to_windows_866 |
ISO_8859_5 |
WIN866 |
iso_8859_6_to_utf8 |
ISO_8859_6 |
UTF8 |
iso_8859_7_to_utf8 |
ISO_8859_7 |
UTF8 |
iso_8859_8_to_utf8 |
ISO_8859_8 |
UTF8 |
iso_8859_9_to_utf8 |
LATIN5 |
UTF8 |
johab_to_utf8 |
JOHAB |
UTF8 |
koi8_r_to_iso_8859_5 |
KOI8R |
ISO_8859_5 |
koi8_r_to_mic |
KOI8R |
MULE_INTERNAL |
koi8_r_to_utf8 |
KOI8R |
UTF8 |
koi8_r_to_windows_1251 |
KOI8R |
WIN1251 |
koi8_r_to_windows_866 |
KOI8R |
WIN866 |
koi8_u_to_utf8 |
KOI8U |
UTF8 |
mic_to_big5 |
MULE_INTERNAL |
BIG5 |
mic_to_euc_cn |
MULE_INTERNAL |
EUC_CN |
mic_to_euc_jp |
MULE_INTERNAL |
EUC_JP |
mic_to_euc_kr |
MULE_INTERNAL |
EUC_KR |
mic_to_euc_tw |
MULE_INTERNAL |
EUC_TW |
mic_to_iso_8859_1 |
MULE_INTERNAL |
LATIN1 |
mic_to_iso_8859_2 |
MULE_INTERNAL |
LATIN2 |
mic_to_iso_8859_3 |
MULE_INTERNAL |
LATIN3 |
mic_to_iso_8859_4 |
MULE_INTERNAL |
LATIN4 |
mic_to_iso_8859_5 |
MULE_INTERNAL |
ISO_8859_5 |
mic_to_koi8_r |
MULE_INTERNAL |
KOI8R |
mic_to_sjis |
MULE_INTERNAL |
SJIS |
mic_to_windows_1250 |
MULE_INTERNAL |
WIN1250 |
mic_to_windows_1251 |
MULE_INTERNAL |
WIN1251 |
mic_to_windows_866 |
MULE_INTERNAL |
WIN866 |
sjis_to_euc_jp |
SJIS |
EUC_JP |
sjis_to_mic |
SJIS |
MULE_INTERNAL |
sjis_to_utf8 |
SJIS |
UTF8 |
windows_1258_to_utf8 |
WIN1258 |
UTF8 |
uhc_to_utf8 |
UHC |
UTF8 |
utf8_to_big5 |
UTF8 |
BIG5 |
utf8_to_euc_cn |
UTF8 |
EUC_CN |
utf8_to_euc_jp |
UTF8 |
EUC_JP |
utf8_to_euc_kr |
UTF8 |
EUC_KR |
utf8_to_euc_tw |
UTF8 |
EUC_TW |
utf8_to_gb18030 |
UTF8 |
GB18030 |
utf8_to_gbk |
UTF8 |
GBK |
utf8_to_iso_8859_1 |
UTF8 |
LATIN1 |
utf8_to_iso_8859_10 |
UTF8 |
LATIN6 |
utf8_to_iso_8859_13 |
UTF8 |
LATIN7 |
utf8_to_iso_8859_14 |
UTF8 |
LATIN8 |
utf8_to_iso_8859_15 |
UTF8 |
LATIN9 |
utf8_to_iso_8859_16 |
UTF8 |
LATIN10 |
utf8_to_iso_8859_2 |
UTF8 |
LATIN2 |
utf8_to_iso_8859_3 |
UTF8 |
LATIN3 |
utf8_to_iso_8859_4 |
UTF8 |
LATIN4 |
utf8_to_iso_8859_5 |
UTF8 |
ISO_8859_5 |
utf8_to_iso_8859_6 |
UTF8 |
ISO_8859_6 |
utf8_to_iso_8859_7 |
UTF8 |
ISO_8859_7 |
utf8_to_iso_8859_8 |
UTF8 |
ISO_8859_8 |
utf8_to_iso_8859_9 |
UTF8 |
LATIN5 |
utf8_to_johab |
UTF8 |
JOHAB |
utf8_to_koi8_r |
UTF8 |
KOI8R |
utf8_to_koi8_u |
UTF8 |
KOI8U |
utf8_to_sjis |
UTF8 |
SJIS |
utf8_to_windows_1258 |
UTF8 |
WIN1258 |
utf8_to_uhc |
UTF8 |
UHC |
utf8_to_windows_1250 |
UTF8 |
WIN1250 |
utf8_to_windows_1251 |
UTF8 |
WIN1251 |
utf8_to_windows_1252 |
UTF8 |
WIN1252 |
utf8_to_windows_1253 |
UTF8 |
WIN1253 |
utf8_to_windows_1254 |
UTF8 |
WIN1254 |
utf8_to_windows_1255 |
UTF8 |
WIN1255 |
utf8_to_windows_1256 |
UTF8 |
WIN1256 |
utf8_to_windows_1257 |
UTF8 |
WIN1257 |
utf8_to_windows_866 |
UTF8 |
WIN866 |
utf8_to_windows_874 |
UTF8 |
WIN874 |
windows_1250_to_iso_8859_2 |
WIN1250 |
LATIN2 |
windows_1250_to_mic |
WIN1250 |
MULE_INTERNAL |
windows_1250_to_utf8 |
WIN1250 |
UTF8 |
windows_1251_to_iso_8859_5 |
WIN1251 |
ISO_8859_5 |
windows_1251_to_koi8_r |
WIN1251 |
KOI8R |
windows_1251_to_mic |
WIN1251 |
MULE_INTERNAL |
windows_1251_to_utf8 |
WIN1251 |
UTF8 |
windows_1251_to_windows_866 |
WIN1251 |
WIN866 |
windows_1252_to_utf8 |
WIN1252 |
UTF8 |
windows_1256_to_utf8 |
WIN1256 |
UTF8 |
windows_866_to_iso_8859_5 |
WIN866 |
ISO_8859_5 |
windows_866_to_koi8_r |
WIN866 |
KOI8R |
windows_866_to_mic |
WIN866 |
MULE_INTERNAL |
windows_866_to_utf8 |
WIN866 |
UTF8 |
windows_866_to_windows_1251 |
WIN866 |
WIN |
windows_874_to_utf8 |
WIN874 |
UTF8 |
euc_jis_2004_to_utf8 |
EUC_JIS_2004 |
UTF8 |
utf8_to_euc_jis_2004 |
UTF8 |
EUC_JIS_2004 |
shift_jis_2004_to_utf8 |
SHIFT_JIS_2004 |
UTF8 |
utf8_to_shift_jis_2004 |
UTF8 |
SHIFT_JIS_2004 |
euc_jis_2004_to_shift_jis_2004 |
EUC_JIS_2004 |
SHIFT_JIS_2004 |
shift_jis_2004_to_euc_jis_2004 |
SHIFT_JIS_2004 |
EUC_JIS_2004 |
以下是开始了解各种编码系统的好起点。
包含对 EUC_JP
、EUC_CN
、EUC_KR
、EUC_TW
的详细解释。
Unicode 联盟的网站。
UTF-8(8 位 UCS/Unicode 转换格式)在此定义。
如果您在文档中看到任何不正确、与您对特定功能的经验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。