-
问题描述:
安装了oracle数据库以后, 表中的中文数据显示为乱码;
网上查了资料, 原因是oracle字符集没有设置对.
SQL> select userenv(‘language’) from dual;
USERENV(‘LANGUAGE’)
AMERICAN_AMERICA.WE8MSWIN1252
执行上述SQL语句查到当前oracle语言环境变量为:AMERICAN_AMERICA.WE8MSWIN1252
如果要支持中文, 应该为:AMERICAN_AMERICA.ZHS16GBK
2. 问题原因:
安装oracle时在配置/home/oracle/.bash_profile时, 语言变量没设置, 导致了这个问题, 应在该配置文件中加入以下行:
export NLS_LANG=“SIMPLIFIED Chinese_CHINA.ZHS16GBK”
3. 解决办法:
问题是,我oracle已经装好了, 怎么更改呢?
查了下oracle 8g 以上都可以改的,以下是操作步骤:
<1>.首先 sqlplus登录后,关闭oracle数据库:shutdown immediate
<2>.startup mount
<3>.alter system enable restricted session
<4>.alter system set JOB_QUEUE_PROCESSES=0
<5>.alter system set AQ_TM_PROCESSES=0
<6>.alter database open
<7>.alter database character set INTERNAL_USE ZHS16GBK
<8>.shutdown immediate
<9>.startup
4.设置客户端环境变量:
export NLS_LANG="SIMPLIFIED Chinese_CHINA.ZHS16GBK"
export LANG=zh_CN.GBK
[参考链接](http://www.linuxidc.com/Linux/2011-04/34359p2.htm)