Oracle查看字符集,以及中文乱码的处理
col VALUE format a20
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 # 不可以设置为这个,设置为这个,sqlplus无法登陆
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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341