操作系统Windows
登录模式:SQL/PLUSOracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> conn US_ZHA/UUUUUU@ORACLEDB AS SYSDBA
已连接。SQL> SELECT USERENV('LANGUAGE') FROM DUAL;USERENV('LANGUAGE')
-------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBKSQL> SELECT * FROM PERSON;T1
----------
中国SQL> SELECT SYSDATE FROM DUAL;SYSDATE
--------------
07-1月 -11SQL> CONN US_ZHA/UUUUUU@WYL_ORCL AS SYSDBA
已连接。
SQL> SELECT USERENV('LANGUAGE') FROM DUAL;USERENV('LANGUAGE')
------------------------------------------SIMPLIFIED CHINESE_CHINA.US7ASCIISQL> SELECT *FROM PERSON;T1
--------------------
??
SQL> SELECT SYSDATE FROM DUAL;
SYSDATE
--------------
07-1?  -11
这是为什么会出现这种情形呢?

解决方案 »

  1.   

    客户端设置的是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以第一个数据库你可以正确显示.
    第二个数据库是SIMPLIFIED CHINESE_CHINA.US7ASCII,跟你客户端设置不符,中文不能正常显示.
    不过第二个数据库的设置很怪异,前面全是中文的,字符集居然是英文的
      

  2.   

    是的,初步是这么定的,但是我要明白为什么会出现这种情况呢,他之前操作说在生成数据库之后又重新运行了这个文件 dabasename.bat  文件,之后出现乱码。我没有明白,这个文件会影响到字符集的问题吗?