一、 前言
在数据使用中会存在一个特殊的问题,就是US7ASCII字符集.我们知道US7ASCII是早期的英文字符集,是不支持中文的。但是,有的用户使用是Oracle6,Oracle7.0,Oracle7.1,这几版本不支持中文字符集,存储中文也会使用US7ASCII字符集.而ZHS16CGB231280及ZHS16GBK分别在Oracle7.3及Oracle8.0以后才出现的,但是,数据已经按US7ASCII格式存储了,原始数据无法转换。显然,对于这种状态,即使使用Oracle9i,Oracle10g数据库,其核心字符集也不能使用ZHS16GBK,否则将不支持Oracle7.0转换的数据,此时应该使用的字符集仍然是US7ASCII。
因此,针对US7ASCII编码体系中已经存储的中文,需要通过特殊的编码转换过程才能集成到ZHS16GBK或者UTF8编码体系下的数据库中,以下主要介绍针对US7ASCII编码体系的数据如何通过ODI实现与UTF8编码的数据集成。
二、 技术说明
在技术实现方面US7ASCII编码下的中文要正确的存储到UTF8编码体系下需要两个个步骤实现:
注:源表表名为: GUOSJ_FZCHRDXX 其中字段NSRMC为中文字段。
1、 在源端创建视图:V_GUOSJ_FZCHRDXX
CREATE OR REPLACE VIEWV_GUOSJ_FZCHRDXX AS