update props$ set value$='ZHS16GBK'
where name='NLS_CHARACTERSET'; 
update props$ set value$='ZHS16GBK' where name='NLS_NCHAR_CHARACTERSET';
LINUX下如此做的 unix 可能也行吧

解决方案 »

  1.   

    是字符集的问题
    你的数据库的字符集GBK、231280、US7ASCII 的一种吗?update props$ set value$='ZHS16GBK'
    where name='NLS_CHARACTERSET'; 
    修改客户端注册表的健致
    与服务器的一直
      

  2.   

    大家的这个回答
    都是很容易出问题的我不说是不是不负责任
    也许是因为大家没有遇见什么问题修改字符集只能从子集到超集
    不是什么字符集都能这么改的
    修改后可能造成原来数据库中数据是乱码并且,修改的时候最好还要遵循一定的步骤:
    select * from sys.props$
    shutdown immediate;
    startup mount; 
    alter database CHARACTER SET internal_use ZHS16GBK; 
    alter database NATIONAL CHARACTER SET internal_use ZHS16GBK; 
    shutdown immediate; 
    startup restrict; 
    select * from sys.props$;
    shutdown immediate;
    startup ; 
      

  3.   

    我是根据sayyoume(飘飘叶) 的说明改的,已经搞定了,只是我用的字符集是“HZS16CGB231280”,修改了之后,把数据库重新启动就可以了。谢谢各位了!
      

  4.   

    如果数据库就你一个人用,没什么问题
    但我一向推荐安全的做法
    oracle推荐做法:SQL> SHUTDOWN IMMEDIATE;   -- or NORMAL
        <do a full backup>SQL> STARTUP MOUNT;
    SQL> ALTER SYSTEM ENABLE RESTRICED SESSION;
    SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    SQL> ALTER DATABASE OPEN;
    SQL> ALTER DATABASE CHARACTER SET <new_character_set_name>;
    SQL> SHUTDOWN IMMEDIATE;   -- or NORMAL
    SQL> STARTUP;