分享
 
 
 

也谈“Oracle和D/2000字符集的选择和改变”

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

本人阅读了河北省统计局--贾书民网友的 "Oracle 和Developer/2000字符集的选择和改变"后, 对其部分说法表示疑惑:

---- 疑惑1, 要正确处理汉字,一般有两种方案可供选择:

---- 方案一:使用US7ASCII字符集.

---- 方案二:使用ZHS16CGB231280字符集.

---- 照我的理解(本人用过两年的Developer/2000), 并不一定只可使用这两种字符集, 只要你写forms时用的字符集和运行forms时用的字符集一样即可(尽管我只用过WE8ISO8859P1和ZHS16CGB231280这两种字符集).

---- 关键之处在于你启动forms和运行forms一霎那, 注册表HKEY_LOCAL_MACHINE-SOFTWARE-ORACLE下的NLS_LANG 所表示的字符集一样, 即可.

---- 疑惑2, 一旦数据库创建之后, 数据库的字符集是不能改变的, 如果要改变数据库的字符集, 只有重新创建数据库("还有后面一段很长的参考方法").

---- 其实不然, 要改变数据库的字符集, 太简单了, 你只需以sys的身份登陆Oracle, 然后: SQL update props$ set value$='你想要的字符集' where name='NLS_CHARACTERSET';

---- SQL commit;

---- 之后, 再关闭,重启动数据库即可.

---- 疑惑3.Developer/2000 字符集的改变(还有后面的一段说法).

---- 要想客户端的forms程序运行时, 看到正常的字符(客户端用的是Developer/2000 服务器端用Oracle),需要选择相同的字符集; 否则, 至多你只能看到一处正常的字符(当你运行forms时的字符集与你编写forms程序的字符集一样, 则可看到客户端forms程序正常的字符 当与Oracle的字符集一样时, 则可看到Oracle正常的字符).

---- 另外, 也不是("所以,如果要修改源程序,还要对其中的汉字重新改写"). 那多麻烦, 本人97年在襄樊市电信局作97工程时, 也遇过此类问题, 当时电信局计算机中心的周主任找到了其中的解决方法. 简述如下:

---- (假设你用了WE8ISO8859P1字符集编写了forms, 数据库用的是ZHS16CGB231280, 现在要把这些forms程序的字符集改成和数据库的一样). 操作如下:

1.点击菜单 File-- administration-- convert

2.type选择Form, Direction选择Binary-To-Text, Browse为某一用了WE8ISO8859P1字符集编写了

forms的*.fmb.

3.点击 Convert 按钮, 把二进制的*.fmb改写为文本文件*.fmt.

4.用 Edit 软件把此 *.fmt 打开.

5.把里面的 NAME_SET = 31, CS = 31 改成 NAME_SET = 850, CS = 850

(原因 31 指的是 WE8ISO8859P1 字符集, 850 指的是 ZHS16CGB231280 字符集)

6.步骤如 2 不过把Direction选择Text-To-Binary Browse 为刚才的 *.fmt

7.再重新生成此 *.fmb 为 *.fmx

---- 此时, 你再在注册表中Oracle的字符集为ZHS16CGB231280下运行此程序, 就能看到正确的字符集.

---- 此步骤虽然稍有繁琐, 但总比重新编写程序快捷, 尤其是大批量的程序的时候. 另外, 你可以编写一个小程序来代替步骤4,5. 需要注意的一点是一开始执行步骤2时前, 注册表中Oracle的字符集应为WE8ISO8859P1 执行步骤6时前, 注册表中Oracle的字符集应为ZHS16CGB231280.

---- 有兴趣的朋友, 不妨照本人的说法试试.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有