阅 读 文 章

理解CCSID,LANGID对系统内码的影响

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(居士) | 时间:2007-05-27 | 浏览:人次 ]


论坛里一直有朋友困惑于总是出现系统内一些程序乱码等问题,这些都是由于代码页转换问题.

我这里有篇文章就是详细介绍这个的,作者是IBM的陈兵. <iseries技术指南>;这本书的附录里面也有该部分,有书的朋友可以拿书看看.

希望对大家有用

===============================================


值得注意的是,在这里我们使用了“简体中文”这四个字,是为了对应在iSeries上、语言编码为2989的Simplified Chinese,也就是为了对应那些与简体中文相关的编码标准。它决不意味着我们系统仅仅支持简体字。

我们知道,当一个作业被启动的时候,系统会为它确定各项属性的取值,其中包括:

&#61550; 作业的语言代码
&#61550; 作业的CCSID
&#61550; 作业的缺省CCSID

通常,前两项属性都会去参照与该作业相关的用户简要表(User Profile),而用户简要表中的上述参数又往往会进一步去参照系统值。对于作业的缺省CCSID,系统则会依据下面的条件判断加以确定:

&#61550; 当作业的CCSID不为65535时,作业的缺省CCSID即等于作业的CCSID;
&#61550; 当作业的CCSID为65535时,作业的缺省CCSID会依据作业的语言代码来确定;

由上一节我们可以知道,当我们选择DBCS大小写英文(编号为2984)作为系统的主语言时,系统值中的语言代码会被设定为美国英语ENU。用户登录所产生的作业,其各项属性会以美国英语为基础,特别是会将37作为作业的缺省CCSID。而当我们选择简体中文(编号为2989)作为系统的主语言时,系统值中的语言代码会被设定为简体中文CHS。用户登录所产生的作业,其各项属性会以简体中文为基础,特别是会将935或1388作为作业的缺省CCSID。

了解作业的缺省CCSID很重要,因为当作业要创建任何具有CCSID属性的对象的时候,系统会参照当前作业的缺省CCSID,为该对象赋予相应的CCSID取值。

目前在大陆的iSeries用户,由于其用户简要表中的设置不同,其登录所产生的作业,针对上述三项属性的取值也会有所不同。稍加留意便可发现,以下五种情况最为常见:

用户实例 用户简要表中的语言代码 用户简要表中的CCSID 作业的语言
代码 作业的CCSID 作业的缺省CCSID
USER01 ENU 37 ENU 37 37
USER02 CHS 935 CHS 935 935
USER03 CHS 1388 CHS 1388 1388
USER11 ENU 65535 ENU 65535 37
USER12 CHS 65535 CHS 65535 935

考察以用户USER01,或用户USER11登录系统所产生的作业,它们都将以37作为作业的缺省CCSID。由于37是一种单字节的CCSID,因此以37作为缺省CCSID的作业是无法完全正确地处理双字节字符的。比如,用户在利用如下的DDS源文件编译物理文件的时候,

0 ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
     A* CUSTOMER INFORMATION TABLE                                               
     A                                                                           
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 影响 系统 理解 CCSID 字节 文件 作业 中文 用户 作为

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.