有关oracle数据库中sqlplus汉字乱码问题的解决方法,在服务器端直接用sqlplus 连接查询之后,所有中文都显示为乱码,问题出现在环境变量的设置上。
从Oracle数据库中导一个数据时中文乱码。
解决方法:
$ export NLS_LANG=simplified chinese_china.zhs16gbk
2、修改配置单数
NLS_LANG=simplified chinese_china.zhs16gbk;
Export NLS_LANG;
以上是在Linux平台,windows 平台用:
C NLS_LANG=simplified chinese_china.zhs16gbk
或添加一个环境变量就可以了。
3、补充知识:
可以在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 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行。 (责任编辑:IT) |