Oracle 中文乱码问题

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

这样字符集的修改就完成了

 

你可能感兴趣的:(oracle,command,database,System,express,character)