用户指南

字符数据转换

在机器之间传送字符数据时,必须将它转换为接收机器可使用的格式。

例如,当在 DB2 Connect 工作站和主机或 AS/400 数据库服务器之间传送数据时, 通常将它从工作站代码页转换为主机 CCSID,或反之。若两台机器使用不同的代码页或 CCSID, 则将代码点从一个代码页或 CCSID 映射为另一个代码页或 CCSID。 此转换始终在接收方执行。

发送数据库的字符数据由 SQL 语句和输入数据组成。数据库发出的字符数据由输出数据组成。不转换解释为位数据的输出数据 (例如,用 FOR BIT DATA 子句说明的列中的数据)。否则, 若两台机器有不同的代码页或 CCSID,将转换所有输入和输出字符数据。

例如,若使用 DB2 Connect 来存取 DB2 通用数据库 OS/390 版数据,会发生下列情况:

  1. DB2 Connect 将 SQL 语句和输入数据发送至 OS/390。
  2. DB2 通用数据库 OS/390 版将该数据转换为 EBCDIC CCSID 并处理它。
  3. DB2 通用数据库 OS/390 版将结果发送回 DB2 Connect 工作站。
  4. DB2 Connect 将该结果转换为 ASCII 或 ISO 代码页并将它返回给用户。

随后的表显示受支持的代码页(在工作站上)和 CCSID(在主机上)之间的转换。有关受支持的代码页转换的详情, 参考管理指南

表 12. 工作站代码页至主机 CCSID 的转换
主机 CCSID 代码页 国家
037, 273, 277, 278, 280, 284, 285, 297, 500, 871, 1140-1149 437, 819, 850, 858, 860, 863, 1004, 1051, 1252, 1275 阿尔巴尼亚、澳大利亚、奥地利、 比利时、巴西、加拿大、丹麦、芬兰、法国、德国、冰岛、爱尔兰、意大利、拉丁美洲、荷兰、 新西兰、挪威、葡萄牙、南非、西班牙、瑞典、瑞士、英国、美国
423, 875 737, 813, 869, 1253, 1280 希腊
870 852、912、1250、1282 克罗地亚、捷克共和国、匈牙利、波兰、 罗马尼亚、塞尔维亚/蒙的内哥罗(拉丁)、斯洛伐克、斯洛文尼亚
1025 855, 866, 915, 1251, 1283 保加利亚、FYR 马其顿、俄罗斯、 塞尔维亚/蒙的内哥罗 (西里尔语)
1026 857、920、1254、1281 土耳其
424 862、916、1255 以色列 - 参见下面的注释 3
420 864、1046、1089、1256 阿拉伯国家 - 参见下面的注释 3
838 874 泰国
930, 939, 5026, 5035 932、942、943、954、5039 日本
937 938、948、950、964 台湾
933, 1364 949、970、1363 韩国
935, 1388 1381, 1383, 1386 中华人民共和国
1112, 1122 921, 922 爱沙尼亚、拉脱维亚、立陶宛
1025 915, 1131, 1251, 1283 白俄罗斯
1123 1124, 1125, 1251 乌克兰

记录:

  1. 将代码页 1004 作为代码页 1252 来支持。

  2. 一般情况下,可将数据从一个代码页转换为一个 CCSID, 并从该 CCSID 再转换为相同的代码页而无任何更改。但以下是该规则唯一例外的情况:

  3. 对于双向语言,IBM 已定义了大量特殊的 "BiDi CCSIDS", 并且它们受 DB2 Connect 支持

    若数据库服务器的双向属性与客户机的不同,则您可以使用这些特殊的 CCSIDS 来管理此差异。

    参考管理指南以获取关于这些特殊 CCSID 的详细资料。 有关如何为 DRDA 主机连接设置它们的详细信息, 参考 DB2 Connect 的“发行说明”。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]