乱码问题

写了一些字符集编码的文章,但是遇到具体的问题,知道了本质原因,可能具体操作有点模糊。

这里就在字符集编码的基础上讲一些处理乱码问题的常规处理方式

在PowerCenter中,与字符集编码有关的地方有

  • Integration Service的模式
  • 源和目标Connection字符集编码
  • ODBC连接的字符集编码
  • 数据类型

针对Integration Service的模式,可以参考DataMovementMode

针对源和目标Connection字符集编码,需要在Workflow Manager客户端里设置相关的字符集编码,一个通用的法则是,Connection字符集选择与对应的数据库编码保持一致,不过也有例外。 也请参考DataMovementMode

针对ODBC连接的字符集编码,这个需要在ODBCINI环境变量对应的文件里设置IANAAppCodePage,其值为数字,具体可以参考IANAAppCodePage。一般其值与数据库的字符集编码一致。

针对数据类型,数据类型和n数据类型的区别,例如string和nstring,nstring的n应该是national的意思吧,即使unicode string。所以n系列的数据类型对非英文字符支持更好。

定位问题方法

debug模式

在debug模式可以看到数据流动,所以可以看出那个地方出现了乱码字符。然后定位修改对应的字符集编码。

log level

日志级别,将日志级别设置成verbose data,然后看reader,transformations和writer的字符是否出现乱码,如果哪里出现了乱码就可以定位问题了。

例外

有些系统或者平台或者数据库,会存在多字符集共存的情况,这种情况下要特殊分析。


Author: Arthur Li
Email: [email protected]
欢迎转载和关注微信号: INFAer

results matching ""

    No results matching ""