在客户现场实施,创建数据库时,在sqlplus中执行已编写好的SQL脚本,但是导入后,发现客户数据库中的中文字符都是乱码;但是之后使用PL/SQL Developer,将脚本中的SQL语句复制到Command Window中执行,完成后中文字符显示正常。
不知这是什么原因?望各位明示。
还有就是如何在sqlplus中如何保证导入的中文数据正常显示啊?

解决方案 »

  1.   

    你导出导入的数据库字符集不一样吗?如果是从客户端导出,要注意导出时的nls_lang变量设置。
      

  2.   

    对于程序显示方面应该是没有问题的
    plsql/developer显示正常是因为plsql/developer默认字体的事你要改为别的字体当然也乱码
    在客户sqlplus和你原来sqlplus中执行这个看看
    select * from v$nls_parameters
    看看两个NLS_CHARACTERSET是不是一样
      

  3.   

    不光是默认字体的问题吧。因为在用pl/sql developer导入后,再查询数据库(在pl/sql developer和oracle的console中都试过),其中的数据也都是显示正常的。但是之前在sqlplus中导入的数据在pl/sql developer和oracle的console中显示的都是乱码!
      

  4.   

    这是因为你用sqlplus导入时要判断nls_lang的变量值,而pl/sql developer则不用这个。