我现在有一个oracle数据库是从别的数据库中导入的,字符集是 ZHS16GBK;
导入之后,用本机的 sqlplus查询的时候,中文字符全部显示:"靠",其它没问题,不知什么原因。
在别的机器上通过客户端连接查询没问题。
SQL> select * from nls_dataBase_Parameters where parameter = 'NLS_NCHAR_CHARACTE
RSET' or parameter='NLS_CHARACTERSET';PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------NLS_CHARACTERSET
ZHS16GBKNLS_NCHAR_CHARACTERSET
AL16UTF16在线等,问题解决马上给分

解决方案 »

  1.   

    将本机字符集设置成源数据库的字符集,然后导入!!!例如:Set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1(这里是你源数据库的字符集,不要找我写的作,这只是一个例子)
    imp
    Set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
      

  2.   

    oracle不同数据库版本之间字符集转换,比较严格,转换前后他们的语言参数环境要一致的.
      

  3.   

    本机客户端连接所用的字符集要和你的数据库字符集一致。
    检查你本机的oracle环境变量。
      

  4.   

    1、使用SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_LANGUAGE'查看当前数据库实例的字符集;
    2、使用CREATE DATABASE CHARACTER SET 原数据库实例的字符集(ZHS16GBK)
    3、导入数据
      

  5.   

    你那个SQL是查询服务器段的字符集,看一下你客户端的字符集是什么
      

  6.   

    方法一:
    修改user profileFND: NATIVE CLIENT ENCODING       ------------->ZHS16GBK方法二:
    首选项中修改CLIENT ENCODING
    如果是PL/SQL DEVELOPER   TOAD   DISCOVER中出现中文字体乱码,则需要修改注册表中的字符集,,
      

  7.   

    在别的机器上通过客户端连接查询没问题。
    =======================================
    应该不是数据库字符集的问题。show一下本地的参数设置是不是有问题show parameters nls_