导入一个纯文本接口文件,在某个字段末尾出现半个中文字符CA(hex),在UltraEdit下这半个中文字符与下一数字31(hex)被认作一个汉字CA31(hex),显示为'?'。
oracle服务器端的语言设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。
如果oracle817客户端的NLS_LANG设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”时,调用sql*loader导入这个接口文件,会有错误提示“多字节字符错误”。
如果oracle817客户端的NLS_LANG设置为“AMERICAN_AMERICA.US7ASCII”则导入文件时无错误提示,但查oracle数据库中表,导入的字段是乱码。
NLS_LANG设置为UTF8、WE8ISO8859P1同样无法导入到数据库。现请教高手有无其它方法可以通过更改oracle客户端NLS_LANG或改变调用sql*loader参数的方式使这个接口文件顺利导入。
ps:如果接口文件的半个汉字不是出现在字段末尾,则导入没有问题。