永发信息网

如何把oracle的字符集改成GB2132

答案:3  悬赏:50  手机版
解决时间 2021-07-25 16:05
  • 提问者网友:夢醒日落
  • 2021-07-25 08:35
如何把oracle的字符集改成GB2132,请大家给出修改的方法,谢谢
最佳答案
  • 五星知识达人网友:狂恋
  • 2021-07-25 09:24

别改GB2312,有很多字不在GB2312的定义内


至于如何改,需要看你原来安装的数据库是否是GB2312的子字符集了


如果是,可以按照如下方式改


ALTER DATABASE CHARACTER SET ZHS16CGB231280;


还有,貌似9i里面如果数据库存在CLOB类型字段,就不允许对字符集进行转换

全部回答
  • 1楼网友:爱难随人意
  • 2021-07-25 10:59

WE8ISO8859P1是中文ZHS16GBK的超集,建议用这个Oracle字集

按以下步骤(以数据库需改为WE8ISO8859P1为例):

1)、用SYSTEM登录数据库。 2)、执行 UPDATE SYS.PROPS$ SET VALUE$='WE8ISO8859P1' WHERe NAME LIKE 'NLS_CHAR%'; 语句。 3)、修改注册表,HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0 ,NLS_LANG的值改为AMERICAN_AMERICA.WE8ISO8859P1 4)、重新启动数据库。

如果第2步SYSTEM没有权限执行,可以在sql*plus登录数据库管理员帐号,然后再输入语句“conn /as sysdba”也可。登录完成后再执行UPDATE SYS.PROPS$ SET VALUE$='WE8ISO8859P1' WHERe NAME LIKE 'NLS_CHAR%';

  • 2楼网友:七十二街
  • 2021-07-25 10:10

Oracle修改字符集比较麻烦,即使修改了,那么改后的字符集必须是原来字符集的超集!

在安装的时候就应该规划好字符集问题

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯