oracle database 的NLS_CHARACTERSET是UTF8
linux系统locale命令显示LANG=zh_CN.UTF-8
Sqlplus中文乱码????,如下:
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Oct 26 16:09:35 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect /as sysdba
????
SQL>
网上有很多的解决办法,如在进入sqlplus之后,执行一下:
export NLS_LANG="AMERICAN_AMERIRA.UTF8"
执行名之后,提示全部都英文。
还有的是写一段shell脚本。
但我经过自己摸索和验证,发现最有效的办法是:
以root用户登录,找开/etc/profile.d/oracle.sh文件
打开/etc/profile.d/oracle.sh的这个文件,查找:
# NLS_LANG=AMERICAN_AMERICA.UTF8; export NLS_LANG
注意:这句话的前面是加#号的,表示注释了,安装上面的样子,加入一句,如下:
NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"; export NLS_LANG
重启机器,再进入sqlplus,执行SQL语句后,它的提示就变成美丽的中文了。