Oracle查看字符集,以及中文亂碼的處理
select PARAMETER,VALUE from nls_database_parameters where PARAMETER like '%CHARACTERSET%';
PARAMETER VALUE ------------------------------ -------------------- NLS_CHARACTERSET AL32UTF8 NLS_NCHAR_CHARACTERSET AL16UTF16
select userenv('language') from dual;
USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8
LANG是針對Linux系統的語言、地區、字符集的設置,對linux下的應用程序有效,如date;
NLS_LANG是針對Oracle語言、地區、字符集的設置,對oracle中的工具有效
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_LANG=SIMPLIFIED CHINESE_AMERICA.UTF8
LANG=en_US.UTF-8
export LANG= zh_CN.GB2312
export LANG= en_US.UTF-8
locale 查看字符集
locale -a 查看本地字符集
locale -m 查看所有支持的字符集
alter session set nls_date_format = 'yyyy-MM-dd HH24:mi:ss' ;
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
保證中文不亂碼的方法:
1、遠程工具,比如CRT,xshell字符集設置為支持中文的字符集如 utf-8
2、操作系統環境變量設置支持中文的字符集,如 utf-8 LANG或者 NLS_LANG
3、數據庫支持中文字符集 utf-8
Oracle查看字符集,以及中文亂碼的處理