本帖最后由 TopFelix 于 2010-09-24 15:21:07 编辑

解决方案 »

  1.   

      修改客户端字符集。。
    参考http://blog.csdn.net/java3344520/archive/2010/04/10/5469843.aspx
      

  2.   

    以中文为例:#sqlplus “/ as sysdba”
    SQL> SHUTDOWN IMMEDIATE;   
    SQL> STARTUP MOUNT;  
    SQL> ALTER SESSION SET SQL_TRACE=TRUE;
    SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;  
    SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
    SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 
    SQL> ALTER DATABASE OPEN;  
    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; 
    //如果不使用“INTERNAL_USE”参数,系统会提示出错:
    //ERROR at line 1:
    //ORA-12712: new character set must be a superset of old character set
    SQL> ALTER SESSION SET SQL_TRACE=FALSE;
    SQL> SHUTDOWN IMMEDIATE; 
    SQL> STARTUP;
    此时,检查一下数据库的字符集是否更改过来
    SQL> select value$ from props$ where name=’NLS_CHARACTERSET’;
    VALUE$
    ---------------------------------------------------
    ZHS16GBK将系统环境变量NLS_LANG修改为相应的值。
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"