关于用MQ发报文的问题,40分大送啊,急急急!!!
[color=#FF0000][/color]我有个问题啊,
我发的一个MQ报文头如下
<?xml version="1.0" encoding="gbk"?>
<Message>
<ICTRL>
<SERVICE_CODE>12500001 </SERVICE_CODE>
<SER_TXT>对不起 </SER_TXT>
</ICTRL>
<Req>
<Accno>800201201001 </Accno>
</Req>
</Message>
我发的时候,我看了,报文是全的
但是当进去队列后,我再把它取出来时,就变成如下了:
<?xml version="1.0" encoding="gbk"?>
<Message>
<ICTRL>
<SERVICE_CODE>12500001 </SERVICE_CODE>
<SER_TXT>对不起 </SER_TXT>
</ICTRL>
<Req>
<Accno>800201201001 </Accno>
</Req>
</Mess
最外围的标签少了,而且随着 <SER_TXT>对不起 </SER_TXT>里中文的字数增加, <Message>标签会少的更多,
但是如果 <SER_TXT>对不起 </SER_TXT>的值是英文的,比如 <SER_TXT>SORRY,I DONT KNOW </SER_TXT>
就不会出现 <Message>标签不全的问题,
我看了,应该不是编码字符集的问题,因为中文能解析出来,不是乱麻,
请问各位高手,这个是啥原因阿?
[解决办法]
应该是取字符的时候长度问题,汉字占了2个字节
用StrConv转换一下看看