select nls_charset_name(850) from dual;
select nls_charset_name(852) from dual; 
方法一:改你现在的数据的字符集.sys.props$.
方法二:改你导入数据文件*.dmp的字符集.
这里需要一个2进制文件编辑工具即可,如uedit32。用编辑方式打开导出的dmp文件,获取2、3字节的内容,03 52 改成 03 54

解决方案 »

  1.   

    不能改props$。850与852不是oracle支持的字符集转换,如果直接更改此表,可能会失去目的数据库所有与字符集有关的数据,就是支持的转换,也可能导致数据库不正常。如果是子集和父集,可以alter database的方法更改。可以用方法二,但导入的数据与字符集有关部分可能产生乱码。
      

  2.   

    dos方式:
    set nls_lang=simplified chinese_china.zhs16cgb231280
    或者:
    set nls_lang=american_america.zhs16cgb231280
    这两个可以切换的!很管用的!
    然后在导入!
      

  3.   

    楼上的方法好象是客户端字符集的修改方法,对服务器端这样不行。我遇到过这种情况,最后改了导入数据文件*.dmp的字符集.
      

  4.   

    对的,我们是遇到将服务器数据导出,为了在本地做个实验库时采用的上面的方法!
    在深了的情况,没有遇倒过!呵呵,msn:[email protected]!交流一下了!
      

  5.   

    850、852是相关字符集的编号,之所以这样提示而不是具体的字符集提示与你字符集的国家语言设置有关。
    如simplified chinese_china.zhs16cgb231280 ,simplified chinese_china是国家语言设置,zhs16cgb231280是数据库的字符集。编号和字符集的转换可以通过NLS_CHARSET_NAME(),NLS_CHARSET_ID()进行。
      

  6.   

    字符集问题~
    同意 podded(阿朱) 的说法.
      

  7.   

    你只是在本地作实验,那么你本地的ORACLE是可以重装的.
    如果是这样的话,问题就好解决了:
    首先查看服务器的字符集,
    在本地安装时,选择自定义安装,在安装字符集时选择一样的字符集.
    安装完成后,导入就不会有问题了.
      

  8.   

    兄弟们,帮看看这个,一样的情况,谢了
    http://expert.csdn.net/Expert/topic/2373/2373605.xml?temp=6.571597E-02
      

  9.   

    下面这个也是,郁闷了我好几天了。
    http://expert.csdn.net/Expert/topic/2366/2366488.xml?temp=.5422937