将NLS_LANG改为:American_America.ZHS16GHK

解决方案 »

  1.   

    AMERICAN_AMERICA.US7ASCII   也因该可以
      

  2.   

    改成
    select tab1.aa||'_'||tab2.bb||'.'||tab3.cc from (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')tab1,(select VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')tab2,(select VALUE$ cc from sys.props$ where name='NLS_CHARACTERSET')tab3
    查询得到的结果,看看行不行.
      

  3.   

    1、检查服务器上Oracle数据库的字符集SQL> conn sys/change_on_install
    连接成功.SQL> desc props$
     列名                          可空值否   类型
     ------------------------------- -------- ----
     NAME                            NOT NULL VARCHAR2(30)
     VALUE$                                   VARCHAR2(2000)
     COMMENT$                                 VARCHAR2(2000)SQL> col value$ format a40
    SQL> select name,value$ from props$;NAME                           VALUE$
    ------------------------------ -------------------------
    DICT.BASE                      2
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_DATE_FORMAT                DD-MON-YY
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_CHARACTERSET               ZHS16GBK
    NLS_SORT                       BINARY
    NLS_CALENDAR                   GREGORIAN
    NLS_RDBMS_VERSION              7.3.4.0.0
    GLOBAL_DB_NAME                 ORACLE.WORLD
    EXPORT_VIEWS_VERSION           3查询到14记录.NLS_CHARACTERSET这个参数应该是ZHS16GBK,如不是,改为它。SQL*Plus中修改方法:
    SQL> update props$ set value$='新字符集' where name='NLS_CHARACTERSET';操作系统中修改方法:
    connect internal
    alter database ORCL character set ZHS16GBK;
    alter database ORCL national character set ZHS16GBK;
    2、检查操作系统级Oracle汉字显示的字符集运行regedit,定位到:
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE找到以下字符串
    NLS_LANG检查是否以下内容,如不是,改之
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK