免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 15829 | 回复: 14
打印 上一主题 下一主题

棘手的转码问题 EBCDIC to ASCII [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-30 11:35 |只看该作者 |倒序浏览
主机环境V5R4
UserProfile 1388环境下,生成一个PF,Update一个字符“\"进去,DSPPFM看到对应的EBCDIC码是”B2",最终通过一个第三方软件传输到Windows上,得到的是乱码,对应的ASCII码是"DA".

UserProfile 037环境下,Update一个字符“\"进去PF,DSPPFM看到对应的EBCDIC码是”E0",通过同一个第三方软件传输到Windows上,得到的是正确的"\",对应的ASCII码是"5C".

现在的情况是这个PF file是由前置系统(Windows)通过Socket方式上到AS400的,所有的“\"都被转换成"B2",最后出去的时候全部变成乱码。

不知是"\"这个字符有这个问题。~,$,^都有这个情况发生。

我猜测400的转换和QSYS和QUSRSYS下面的TBL有关系,但不知道系统什么情况下用到这些表,问了IBM也没有好的答案,Faint!

望高手解答!

论坛徽章:
0
2 [报告]
发表于 2010-11-30 12:05 |只看该作者
回复 1# beetleyuan


    前面写错了:是Pcom CodePage 037和1388环境下。

论坛徽章:
0
3 [报告]
发表于 2010-11-30 14:03 |只看该作者
回复 1# beetleyuan

我的公司对于转码有现成的软件可以解决你的问题。如果你们单位原意支付费用,这个完全不是问题。

你可以发电子邮件给我联系 franliu@yahoo.com.

论坛徽章:
0
4 [报告]
发表于 2010-12-01 11:17 |只看该作者
现在的情况是这个PF file是由前置系统(Windows)通过Socket方式上到AS400的,所有的“\"都被转换成"B2",最后出去的时候全部变成乱码。 ...
beetleyuan 发表于 2010-11-30 11:35


socket 只是通讯传输信息的方式,转码是谁的程序完成的?
例如 PC程序A 与 AS/400 程序 B 通过 socket 通讯,既可以使用 EBCDIC 编码传输信息(即由A完成 ASCII -> EBCDIC 转码),也可以使用 ASCII 编码传输信息(即由B完成 ASCII -> EBCDIC 转码)。不管是A也好B也好,谁负责转码,谁就要满足你的要求才行。
我自己写过转码程序,通过查表转换,通用的C函数,在PC上用VC++编译,在AS/400上用CRTBNDC编译,在UNIX上用cc编译,一点也不棘手。

论坛徽章:
0
5 [报告]
发表于 2010-12-01 11:19 |只看该作者
PCOMM 输入这几个特殊字符是有CODEPAGE的问题

论坛徽章:
0
6 [报告]
发表于 2010-12-01 13:31 |只看该作者
回复 5# ux400


    EBCDIC - ASC 那256个字符转换比较容易,可是不要忘记还有几千个汉字呢。

论坛徽章:
0
7 [报告]
发表于 2010-12-01 14:36 |只看该作者
回复  ux400


    EBCDIC - ASC 那256个字符转换比较容易,可是不要忘记还有几千个汉字呢。
franliu 发表于 2010-12-01 13:31



GBK 有23780 个汉字,二分法查表或者公式法都可以转换

论坛徽章:
0
8 [报告]
发表于 2010-12-05 11:06 |只看该作者
如果仅是因为显示问题,把5250 SESSION的主机代码页修改为1388中文扩展即可.
如果是转换,的确需要写个工具来实现.这边给客户实施也是通过自行写的程序来实现.

论坛徽章:
0
9 [报告]
发表于 2010-12-07 16:14 |只看该作者
不明白的是,为什么不同CodePage 环境下输入相同的符号,在As400上实际生成的code竟然不同。IBM又是依靠什么判断条件,又是用到了哪张系统表做的转换。

论坛徽章:
0
10 [报告]
发表于 2010-12-07 16:16 |只看该作者
其实修改第三方软件转码表的工作已经好了。但这只能解决已发现有问题的code。如果知道整个机制和所有用到的转换表,就可以做充分完全的测试。一次性把所有有问题的都改掉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP