常用查询(客户端):
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';
select userenv('language') from dual;
select * from sys.nls_database_parameters;--查看数据库参数
select * from sys.nls_instance_parameters; --查看客户端参数
select * from sys.nls_session_parameters; --查看会话的参数
-------修改oracle会话端语言------------
1、可以通过修改注册表键值永久设置,类似于这样的键值:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1下,
如一般的简体中文
nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2、环境变量添加参数
nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
-------修改oracle客户端语言------------
1、查看nls_lang参数是否为静态参数
select name,value,ISSYS_MODIFIABLE FROM v$parameter where ISSYS_MODIFIABLE ='FALSE' and name ='nls_territory' or name ='nls_language'
2、修改nls_language 参数
alter system set nls_language='SIMPLIFIED CHINESE' scope = spfile;
alter system set nls_territory='CHINA' scope=spfile;
3、重启数据库查看nls_language参数
shutdown immediate;
startup mount;
alter database open;
show parameter nls
-------修改oracle服务端端语言和字符集------------
update props$ set value$='SIMPLIFIED CHINESE' where name='nls_language'
update props$ set value$='CHINA' where name='nls_territory'
connect system/tigeras sysdba;
shutdown immediate;
startup mount;
alter system enable restricted session ;
alter system set JOB_QUEUE_PROCESSES=0;
alter system set AQ_TM_PROCESSES=0;
alter database open;
alter database character set internal_use WE8ISO8859P1;
shutdown immediate;
startup;
注意:最好保持三端字符集设置一致,否则可能出现乱码问题
ps:一般设置,为了粘贴方便
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1
AMERICAN_AMERICA.WE8ISO8859P1
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1
SIMPLIFIED CHINESE_CHINA.ZHS16GBK