ORACLEXE字符集问题
【IT168 服务器学院】因为在LINUX下面,一直以来安装ORACLE不算太成功,总会有那么一点或两点的问题,同时作为开发人员来讲,使用ORACLE10.2数据库,也太慢了,毕竟,它建立一个实例,就要300多MB的内存空间,因此,自从ORACLE发布了ORACLEXE后,我就第一时间地把它安装完毕。
这些天来,一直在这个数据库上面开发我自己的撒哈拉城,感觉非常好,但是,由于我一直没有使用中文,都是在英文条件下开发的,不知道ORACLEXE现在的测试版,还不完全支持中文。因此,今天需要使用中文的时候,才发现这个问题。
还好,找到一篇好文,与大家共享,可以正常解决中文字符集的问题:
Oracle 10g Express Edition是Oracle专门为小型用户提供的免费版本。Oracle XE十分小巧,安装简单,可供第三方软件开发商部署较小的应用。不过Oracle XE目前的beta2缺省安装的字符集是WE8MSWIN1252,不是中文字符集,并且不能通过直接运行
alter database character set ZHS16GBK ;
来修改,因为ZHS16GBK不是缺省字符集的超集。
过去流传很广的直接修改sys用户下的PROPS$表的方法,也会给字符集的变更留下很多潜在的问题.
不过在安装完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
这样字符集的修改就完成了
希望对大家有用。