棘手的转码问题 EBCDIC to ASCII

发布于 2022-08-29 01:18:09 字数 559 浏览 13 评论 9

主机环境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!

望高手解答!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

软甜啾 2022-09-12 06:49:02

其实修改第三方软件转码表的工作已经好了。但这只能解决已发现有问题的code。如果知道整个机制和所有用到的转换表,就可以做充分完全的测试。一次性把所有有问题的都改掉。

薄情伤 2022-09-12 06:46:06

不明白的是,为什么不同CodePage 环境下输入相同的符号,在As400上实际生成的code竟然不同。IBM又是依靠什么判断条件,又是用到了哪张系统表做的转换。

鹿港小镇 2022-09-12 06:45:33

如果仅是因为显示问题,把5250 SESSION的主机代码页修改为1388中文扩展即可.
如果是转换,的确需要写个工具来实现.这边给客户实施也是通过自行写的程序来实现.

耶耶耶 2022-09-11 18:52:41

回复  ux400

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

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

厌味 2022-09-11 11:52:09

回复 5# ux400

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

傲世九天 2022-09-10 19:01:18

PCOMM 输入这几个特殊字符是有CODEPAGE的问题

注定孤独终老 2022-09-07 20:19:29

现在的情况是这个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编译,一点也不棘手。

屌丝范 2022-09-06 16:30:14

回复 1# beetleyuan

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

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

萧瑟寒风 2022-09-05 12:05:08

回复 1# beetleyuan

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文