查看数据库当前字符集 SELECT SYS_CONTEXT (USERENV, language) from dual; 数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 客户端字符集环境select * from nls_instance_parameters,其来源于v$paramete
查看数据库当前字符集
SELECT SYS_CONTEXT ('USERENV', 'language') from dual;
数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,
表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件
注册表中字符集的修改:
注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_ home1 : nls_lang为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
将注册表中nls_lang改为SIMPLIFIED CHINESE_CHINA.AL32UTF8