日期:2014-05-17  浏览次数:20874 次

Oracle8i到11g,字符集us7ascii到ZHS16GBK转换中文显示为?,求解
服务器A:Oracle8i,字符集:AMERICAN_AMERICA.US7ASCII,注册表nls_lang:AMERICAN_AMERICA.US7ASCII.
 服务器B:Oracle11g,字符集:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,注册表nls_lang:SIMPLIFIED CHINESE_CHINA.ZHS16GBK.
 现在A进行exp,将导出的dmp文件用ultraEdit修改03 00 01为03 03 54,
 再在B上对此dmp进行imp,结果查询发现,B上涉及到中文的字符仍显示为?号。
 求大家指点。


 PS:SIMPLIFIED CHINESE_CHINA.ZHS16GBK为 AMERICAN_AMERICA.US7ASCII的超集,直接将A的 注册表nls_lang改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK进行exp,将得到的dmp直接导入到B上,是否可以呢?(尚未来得及试)

 希望大家不吝赐教,经验尚浅,如果大家有成功方案,希望把步骤解释的详尽些!
 感谢!

------解决方案--------------------
建议将A上的nls_lang改为GBK,再exp。