出现乱码的问题,在于oracle客户端的字符集和服务端的字符集不一致造成的
sqlplus 端的字符集在linux环境中决定于NLS_LANG环境变量
(1) 首先确定服务端的字符集
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL>
(2) 改变oracle用户的环境变量
在.bash_profile中加入
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
然后使环境变量生效
source .basd_profile
如果用第三方工具登录linux机器 。比如xshell ,srt 等等软件。这些工具也要设置显示的字符集,保证三方都一致。这样乱码就可以解决了
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7551038/viewspace-614037/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7551038/viewspace-614037/