xerces-c开发中,汉字编码验证准确性

 经常有朋友用xerces-c开发程序,生成了gbk,或者gb2312编码格式的xml报文,汉字被编码为如下的样子,文件名test.xml:

<?xml version="1.0" encoding="GBK" standalone="no" ?>
<InterBOSS>

  <UserInfo>
    <BizCode>125829999</BizCode>
    <ProdName>&#xC5;&#xA9;&#xD5;&#xFe;&#xCD;¨</ProdName>
    <ServCode>1258299993100001</ServCode>
    <UserData>
      <MobNum>13777451607</MobNum>
      <OprCode>01</OprCode>
      <EfftT>20090101</EfftT>
    </UserData>
  </UserInfo>

</InterBOSS>

怎样来验证报文中的汉字编码转换是正确,如果能通过程序将ProdName中的汉字编码正确地显示出来,证明转换没有错。

xerces-c的例子中,DOMPrint可以打印出不同编码格式的xml文件,并正确显示。

验证方法,执行如下格式的命令验证test.xml

./DOMPrint -wenc=iso8859-1  test.xml

如果能在屏幕上准确地打印出汉字,那么表示生成的报文中,汉字的编码没有问题。

如果打印出乱码,那么生成的报文有问题,仔细查看代码中,那些地方没有做好编码转换。

你可能感兴趣的:(xml,encoding)