Oracle查看字符集,以及中文乱码的处理
col VALUE format a20 select PARAMETER,VALUE from nls_database_parameters where PARAMETER like '%CHARACTERSET%'; PARAMETERVALUE -------------------------------------------------- NLS_CHARACTERSETAL32UTF8 NLS_NCHAR_CHARACTERSETAL16UTF16 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |