oracle那个sqlplus在linux上怎么显示中文的?
不得不说,Oracle在处理中文的时候很容易就会遇到乱码。
先问个简单的,oracle那个sqlplus在linux上怎么显示中文的?
装了个centos,中文的,再装了个oracle11g,然后在centos的终端console
里面用sqlplus。只是希望用sqlplus / as sysdba进行时,能看到一些汉字,
就是那些消息文字,已连接啊,多少行啊这些,如
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
像这样。想用中文,结果始终是乱码。
nls_lang设为american倒是没有乱码,就是成了英文的了。设成simplified
就会乱码,奇怪
这个应该还不涉及到数据库字符集那些高深的东西,就已经悲剧了。。
注:只有在linux那个console上不行,其他的都行,如putty,sqlplus on windows,telnet,oracle sql developer, secure ssh client,等,用这些工具一连上去,只要nls_lang设为simplified china就肯定会出现是中文的消息的。
虽然平时肯定都是用远程工具登录使用的,很少会有机会用上那个Linux的本地登录后的concole,但是就是觉得有点奇怪,明明是中文的linux,桌面上一大堆的中文目录都没问题的,居然显示不了sqlplus的中文消息。
想问问看哪位知道是怎么回事?
也试过改那个i18n,结果连系统都不能登录了。
[oracle@testoracl ~]$ env|grep LANG
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
LANG=zh_CN.UTF-8
[oracle@testoracl ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on ????? 11?? 15 20:06:29 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
?????:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL> SELECT parameter, VALUE
FROM nls_database_parameters
WHERE parameter ='NLS_CHARACTERSET';
PARAMETER-----------------VALUE-------------------
NLS_CHARACTERSET ZHS16GBK
SQL>
NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>
NLS_LANG各部分含义如下:
LANGUAGE指定:-Oracle消息使用的语言
http://zhidao.baidu.com/question/193447142.html
------解决方案--------------------
在 Console 终端上方的“设置”菜单栏里就有得设置呀。。。
我在公司,没有办法上传图片,你自己在你的终端上面的菜单栏里找一下
英文是 Encoding 的设置(中文就是编码,类似于 IE 的编码格式设置)