怎么样查看数据库字符集 
[A]数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 
  客户端字符集环境select * from nls_instance_parameter,其来源于v$parameter, 
表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 
  会话字符集环境 select * from nls_session_parameter,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameter一致。 
  客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件 
  字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。修改注册表,NLS_LANG的值为与数据库字符集相同

解决方案 »

  1.   

    修改字符集的步骤:  
    c:\>svrmgrl  
    在svrmgrl中执行:  
    connect  internal/oracle[@dbname];  
    shutdown  immediate;  
    startup  restrict;  
    ALTER  DATABAE  [dbname]  CHARACTER  SET  [SIMPLIFIED  CHINESE_CHINA.]ZHS16GBK  ;    
    ALTER  DATABAE  [dbname]  NATIONAL  CHARACTER  SET  [SIMPLIFIED  CHINESE_CHINA.]ZHS16GBK  ;    
    alter  database  [dbname]  open;