1. 要确保计算机环境变量中有  变量名为:NLS_LANG的变量,变量值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

  2. 确保ORACLE 字符集为 SIMPLIFIED CHINESE。

  3. 确保 HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home下,找到NLS_LANG,数值数据为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  4. 修改oracle 字符集的步骤(转载,亲测可用):


  •   $sqlplus /nolog

  •   SQL>conn / as sysdba

    --若此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命令关闭数据库服务器,然后执行以下命令:

  •   SQL>shutdown immediate

  •   SQL>STARTUP MOUNT

  •   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

    --  可能出现以下错误:

    *  ERROR at line 1:ORA-12721: operation cannot execute when other sessions are active

    若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查:

  •   SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

  •   SQL>SHUTDOWN IMMEDIATE

  •   SQL>STARTUP