Oracle基础教程之sqlplus汉字乱码问题的解决

2014-11-24 17:51:42 · 作者: · 浏览: 1

解决方法:


1. export 参数


$ export NLS_LANG=simplified chinese_china.zhs16gbk


2. 修改配置单数


修改。bash_profile 中的参数,添加相关信息


NLS_LANG=simplified chinese_china.zhs16gbk;


Export NLS_LANG;


以上是在Linux平台,windows 平台用


C NLS_LANG=simplified chinese_china.zhs16gbk


或者添加一个环境变量就可以了。


3. 补充一点知识:


Nls_lang 是Linux 系统的环境变量;


Nls_language 是数据库的参数。


我们可以在session中修改Nls_language,不能修改Nls_lang。


示例:


SQL ALTER SESSION SET NLS_LANGUAGE= 'SIMPLIFIED CHINESE'


SQL alter session set nls_lang=American_America.ZHS16GBK;


alter session set nls_lang=American_America.ZHS16GBK


ERROR at line 1


ORA-00922 missing or invalid option


Oracle 的相关参数我们可以通过以下SQL语句查看:


SQL col PARAMETER format a30


SQL col VALUE format a30


SQL select from v$NLS_PARAMETERS;


PARAMETER VALUE


------------------------------ ------------------------------


NLS_LANGUAGE SIMPLIFIED CHINESE


NLS_TERRITORY CHINA


NLS_CURRENCY ¥


NLS_ISO_CURRENCY CHINA


NLS_NUMERIC_CHARACTERS .,


NLS_CALENDAR GREGORIAN


NLS_DATE_FORMAT YYYY-MM-DD HH24MISS


NLS_DATE_LANGUAGE AMERICAN


NLS_CHARACTERSET ZHS16GBK


NLS_SORT BINARY


NLS_TIME_FORMAT HH.MI.SSXFF AM


PARAMETER VALUE


------------------------------ ------------------------------


NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM


NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR


NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR


NLS_DUAL_CURRENCY ¥


NLS_NCHAR_CHARACTERSET AL16UTF16


NLS_COMP BINARY


NLS_LENGTH_SEMANTICS BYTE


NLS_NCHAR_CONV_EXCP FALSE


已选择19行。