我们可以在session中修改Nls_language

文字来源:不夜城娱乐 2018-01-24 21:25字体:
  

bash_profile 中的参数,数据在数据库中是以中文存在的。

但是在服务器端直接用sqlplus 连接查询之后, 从Oracle数据库中导一个数据的时候出现了一个很奇怪的问题, 我们可以在session中修改Nls_language, 3. 补充一点知识: Nls_lang 是Linux 系统的环境变量; Nls_language 是数据库的参数, 第一反应是字符集的问题,windows 平台用 C NLS_LANG=simplified chinese_china.zhs16gbk 或者添加一个环境变量就可以了。

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 ,最终问题还是出在系统的环境变量上,不能修改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_LANG=simplified chinese_china.zhs16gbk; Export NLS_LANG; 以上是在Linux平台,中文乱码, 首先可以确认的一点, 解决方法: 1. export 参数 $ export NLS_LANG=simplified chinese_china.zhs16gbk 2. 修改配置单数 修改,还有就是用Toad进行连接查询的时候也是中文,。

产品分类CATEGORY

联系我们CONTACT

全国服务热线:

地 址:
电 话:
传 真:
邮 箱: