CCSID到文本XML输出数据的编码名称的映射

作为隐式或显式 XMLSERIALIZE 操作的一部分, Db2 可能会在文本 XML 输出数据的开头添加编码声明。

编码声明采用以下格式:
<?xml version="1.0" encoding="encoding-name"?>

通常,编码声明中的字符集标识描述输出字符串中的字符编码。 例如,在将 XML 数据序列化为与目标应用程序数据类型对应的 CCSID 时,编码声明将描述目标应用程序变量 CCSID。 应用程序执行指定了 INCLUDING XMLDECLARATION 的显式 XMLSERIALIZE 函数时的情况例外。 如果指定了 INCLUDING XMLDECLARATION,数据库管理器就会为 UTF-8 生成编码声明。 如果目标数据类型是 CLOB 或 DBCLOB 类型,就可能会执行其他代码页转换操作,这会导致编码信息不准确。 如果在应用程序中对该数据进行进一步解析,就可能会导致数据损坏。

在可能的情况下, Db2 根据XML标准的规定,为CCSID选择IANA注册表名称。

如果应用程序的目标CCSID不在以下列表中, Db2 会生成一个编码名称,如下所示:
  • 如果CCSID为1到3位数字,则生成的编码名称为 IBM® nnn ,其中 nnn 是CCSID,如果是1位或2位数字的CCSID,则用0补齐。
  • 如果CCSID有四到五位数字,生成的编码名称为 IBM nnnnn ,其中 nnnnn 是CCSID,对于四位数的CCSID,用零补齐。
某些解析器可能无法解析带有生成的编码名称的检索文档。
表 1. CCSID 和对应的编码名
CCSID 编码名
37 IBM037
273 IBM273
277 IBM277
278 IBM278
280 IBM280
284 IBM284
285 IBM285
297 IBM297
367 US-ASCII
420 IBM420
423 IBM423
424 IBM424
437 IBM437
500 IBM500
808 IBM808
813 ISO-8859-7
819 ISO-8859-1
838 IBM-Thai
850 IBM850
852 IBM852
855 IBM855
857 IBM857
858 IBM00858
862 IBM862
863 IBM863
864 IBM864
866 IBM866
867 IBM867
869 IBM869
870 IBM870
871 IBM871
872 IBM872
874 TIS-620
878 KOI8-R
901 ISO-8859-13
902 IBM902
904 IBM904
912 ISO-8859-2
915 ISO-8859-5
916 ISO-8859-8-I
920 ISO-8859-9
921 ISO-8859-13
922 IBM922
923 ISO-8859-15
924 IBM00924
932 Shift_JIS
943 Windows-31J
949 EUC-KR
950 Big5
954 EUC-JP
964 EUC-TW
970 EUC-KR
1004 Microsoft-Publish
1026 IBM1026
1043 IBM1043
1047 IBM1047
1051 hp-roman8
1089 ISO-8859-6
1129 VISCII
1140 IBM01140
1141 IBM01141
1142 IBM01142
1143 IBM01143
1144 IBM01144
1145 IBM01145
1146 IBM01146
1147 IBM01147
1148 IBM01148
1149 IBM01149
1153 IBM01153
1155 IBM01155
1160 IBM-Thai
1161 TIS-620
1162 TIS-620
1163 VISCII
1168 KOI8-U
1200 UTF-16
1202 UTF-16
1204 UTF-16
1208 UTF-8
1232 UTF-32
1234 UTF-32
1236 UTF-32
1250 windows-1250
1251 windows-1251
1252 windows-1252
1253 windows-1253
1254 windows-1254
1255 windows-1255
1256 windows-1256
1257 windows-1257
1258 windows-1258
1275 MACINTOSH
1363 KSC_5601
1370 Big5
1381 GB2312
1383 GB2312
1386 GBK
1392 GB18030
4909 ISO-8859-7
5039 Shift_JIS
5346 windows-1250
5347 windows-1251
5348 windows-1252
5349 windows-1253
5350 windows-1254
5351 windows-1255
5352 windows-1256
5353 windows-1257
5354 windows-1258
5488 GB18030
8612 IBM420
8616 IBM424
9005 ISO-8859-7
12712 IBM424
13488 UTF-16
13490 UTF-16
16840 IBM420
17248 IBM864
17584 UTF-16
17586 UTF-16
62209 IBM862
62210 ISO-8859-8
62211 IBM424
62213 IBM862
62215 ISO-8859-8
62218 IBM864
62221 IBM862
62222 ISO-8859-8
62223 windows-1255
62224 IBM420
62225 IBM864
62227 ISO-8859-6
62228 windows-1256
62229 IBM424
62231 IBM862
62232 ISO-8859-8
62233 IBM420
62234 IBM420
62235 IBM424
62237 windows-1255
62238 ISO-8859-8-I
62239 windows-1255
62240 IBM424
62242 IBM862
62243 ISO-8859-8-I
62244 windows-1255
62245 IBM424
62250 IBM420