oracle的字符集分为server端和client端,client端的字符集是在os中定义的oracle字符集。
    如果是倒中文,我建议你在win9x/win2000等os(支持中文)上,用sqlplus执行exp和imp。将注册表中的oracle客户端字符集设置为ZHS16CGB231280。

解决方案 »

  1.   

    至于挽回,试试先将oracle的字符集改为西文,导入之后,再改回来。(不过,说实话,我原来也碰到过这个问题,oracle公司的人教我这样做的,但不起作用。具体的表和参数不太记得了,祝你好运!)
      

  2.   

    To:kmlinda
    你注意到没有,在导入数据时,Imp会提示用户:导出服务器的字符集是怎样的,导入服务器的字符集是怎样的,并且说进行了什么样的字符转换。
    我分析了它的提示过程,说明我的字符集设置还是正确的,转换也正常进行了。那只能说明该.dmp文件已经是乱码。为了说明这个问题,我用UltraEdit分别看了正常的.dmp文件和该.dmp文件,结果发现:正常的.dmp文件中中文显示还是正常的,而该.dmp文件中的中文显示已经全部替换成了“?”,因此成了乱码。
    而且为了避免服务器和客户端的字符集设置不一致的情况,我在服务器上进行了Imp操作,也不正常。
    估计没戏了!