您的位置:首页 > 数据库 > Oracle

Oracle 中文乱码问题

2011-03-02 15:04 302 查看
Oracle 10g Express Edition是Oracle专门为小型用户提供的免费版本。Oracle XE十分小巧,安装简单,可供第三方软件开发商部署较小的应用。

不过Oracle XE目前的beta2缺省安装的字符集是WE8MSWIN1252,不是中文字符集,并且不能通过直接运行

alter database character set ZHS16GBK ;

来修改,因为ZHS16GBK不是缺省字符集的超集。

过去流传很广的直接修改sys用户下的PROPS$表的方法,也会给字符集的变更留下很多潜在的问题.

查询oracle 字符集

查看oracel server端的字符集

select userenv('language') from dual;

1 SIMPLIFIED CHINESE_CHINA.AL32UTF8

查看oracel client端的字符集

  是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,比如:

  set nls_lang=AMERICAN_AMERICA.ZHS16GBK

  这样就只影响这个窗口里面的环境变量。

解决方案:

不过在安装完Oracle XE后,可以在sqlplus(即Oracle XE的run SQL command line)中, 进行如下的操作来修改字符集:

connect system/oracle9i as sysdba

shutdown immediate

startup mount

alter system enable restricted session ;

alter system set JOB_QUEUE_PROCESSES=0;

alter system set AQ_TM_PROCESSES=0;

alter database open ;

alter database character set internal_use ZHS16GBK ;

shutdown immediate

startup

这样字符集的修改就完成了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: