SQL> select sysdate from dual;SYSDATE
--------------
06-1?  -11SQL> select userenv('LANGUAGE') DU from dual ;DU
------------------------------------------------SIMPLIFIED CHINESE_CHINA.US7ASCII而我的注册码是这样子的:
我的注册码里面显示如下:
KEY_OraDB11G_home1
  NLS_LANG       SIMPLIFIED CHINESE_CHINA.ZHS16GBK
KEY_OraDB11G_home2
  NLS_LANG       SIMPLIFIED CHINESE_CHINA.ZHS16GBK
请问如何解决这个乱码问题呢

解决方案 »

  1.   

    你使用plsql登陆的执行的吗?
      

  2.   

    我的环境是WINDOWS 
    我是在SQL/PLUS 操作
    select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET'PARAMETER                                        VALUE
    ---------------                              -------------------------
    NLS_CHARACTERSET                               US7ASCII
    我的注册码吗是:
    KEY_OraDB11G_home1
      NLS_LANG       SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    KEY_OraDB11G_home2
      NLS_LANG       SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    我的环境是WINDEOWS
    登录模式: SQL/PLUS
    现在就是注册码和 我SQL/PLUS 里面不一样
    在SQL/PLUS 操作
    select sysdate from dual;SYSDATE
    --------------
    06-1? -11
      

  3.   

    ALTER DATABASE CHARACTER SET ZHS16GBK 这样试试
      

  4.   

    给个完整语句,我按照你的执行ERROR
      

  5.   

    把你注册表中的nls_lang改为SIMPLIFIED CHINESE_CHINA.US7ASCII呢
      

  6.   

    按照你的防方法我操作了一下,效果更惨:
    SQL*Plus: Release 11.1.0.6.0 - Production on ??? 1? 6 14:41:10 2011Copyright (c) 1982, 2007, Oracle.  All rights reserved.??????:  sys as sysdba
    ????:???:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select sysdate from dual;SYSDATE
    ----------
    06-1?  -11全都是乱码了
      

  7.   

    动不动就database 不好吧,session吧。
      

  8.   

    恩,也意思到这个问题了  本来想在自己电脑上试试 
    感觉不正常 
    不知道这样可以满足楼主不
    select to_char(sysdate,'yyyy-mon-dd', 'NLS_DATE_LANGUAGE = ''SIMPLIFIED CHINESE''') from dual
      

  9.   

    a.查询服务器端配置的字符集。在sqlplus中以dba用户执行:   
      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;   
        
    b.在客户端的注册表HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0中,如无系统变量NLS_LANG,则“新建”->“字符串”,重命名为“NLS_LANG”,并赋值为上述查询变量的值(注意引号内的字符应大写),再查看时不需要重启Oracle。
      

  10.   

    SQL*Plus: Release 11.1.0.6.0 - Production on 星期四 1月 6 14:55:25 2011Copyright (c) 1982, 2007, Oracle.  All rights reserved.请输入用户名:  sys as sysdba
    输入口令:连接到:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> 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 n
    me='NLS_ISO_CURRENCY')tab2,(select VALUE$ cc from sys.props$ where name='NLS_CH
    RACTERSET')tab3;TAB1.AA||'_'||TAB2.BB||'.'||TAB3.CC
    -------------------------------------------------------------------------------AMERICAN_AMERICA.US7ASCII
    之后修改注册表
    KEY_OraDB11G_home1
      AMERICAN_AMERICA.US7ASCII
    KEY_OraDB11G_home2
      AMERICAN_AMERICA.US7ASCII
    在执行SQL/PLUS
    SQL> SELECT SYSDATE FROM DUAL;
    SYSDATE
    --------------
    06-1?  -11
      

  11.   

    如果重启之后就这种形式了
    SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jan 6 15:01:07 2011Copyright (c) 1982, 2007, Oracle.  All rights reserved.Enter user-name: SYS AS SYSDBA
    Enter password:Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select sysdate from dual;SYSDATE
    ---------
    06-JAN-11SQL>
      

  12.   

    这样有问题吗?你再设置下你的nls_date_format就可以了哈。。
      

  13.   

    SQL> select ''张'' from dual;
    select ''张'' from dual
               *
    ERROR at line 1:
    ORA-00923: FROM keyword not found where expected
    SQL> select '张' from dual;'
    --
    张SQL> select ''a'' from dual;
    select ''a'' from dual
              *
    ERROR at line 1:
    ORA-00923: FROM keyword not found where expected
    SQL> select 'a' from dual;'
    -
    a如果这样子,你看看都出现这种问题了,是不是奇怪呢,头都大了
      

  14.   

    有什么奇怪的,加双引号代表的,引号里的内容代表的表里里字段。。dual表里有字段吗?、
    很正常啊。。
      

  15.   

    恩,那我现在只能用英文版本了哦在SQL/PLUS