关于MQ的转码,ASCII码和EBCDIC。

我在用MQ进行PCserver和AS400直接通信传输,PCserver是1381字符集,编码是ASCII,AS400是935字符集,编码是EBCDIC。我在400端接收到数据并转码,转完后,发现有些字符转换有问题。如~字符,通过MQ转码后的十六进制为A0,而不是对应EBCDIC里的~对应的十六进制的A1。有人知道MQ里是怎么转...显示全部
我在用MQ进行PCserver和AS400直接通信传输,
PCserver是1381字符集,编码是ASCII,
AS400是935字符集,编码是EBCDIC。
我在400端接收到数据并转码,转完后,发现有些字符转换有问题。
如~字符,通过MQ转码后的十六进制为A0,而不是对应EBCDIC里的~对应的十六进制的A1。
有人知道MQ里是怎么转码的吗?转码是根据什么码表?谢谢收起
参与5

查看其它 2 个回答Xiao Qing的回答

Xiao QingXiao Qing系统工程师浪潮商用机器有限公司

这个问题可能是由于MQM的CCSID值不正确造成的,因此造成转码错误。
935和1381之间的是可以正常转换的,但除了设置AS/400的QCCSID值之外,还要设置MQM的CCSID值。
步骤如下:
1.用命令DSPMQM显示MQM的CCSID值
2.修改MQM的CCSID值,CHGMQM CCSID(935)
3.ENDMQM
4.STRMQM,之后重启MQM的channel

仅供参考

系统集成 · 2021-08-03
浏览1234

回答者

Xiao Qing
系统工程师浪潮商用机器有限公司
擅长领域: 服务器新核心系统存储

Xiao Qing 最近回答过的问题

回答状态

  • 发布时间:2021-08-03
  • 关注会员:1 人
  • 回答浏览:1234
  • X社区推广