我们面临一个问题,在包含特殊字符的xml信息被拒绝,像[·(0xB7),Ý(0xDD),¨(0xA8)]这些实际上是XML有效字符。我们发现这些字符对于未指定的默认编码来说是无效的。如果我们在消息顶部明确添加编码类型,则可以避免此问题。我们使用了UTF-8编码。 因此,通过在XML信息的开头添加“”,这些字符应该变成有效字符。以下是cobol代码:
预期的输出是应该将下面的编码位添加到标头中。
XML GENERATE RESPONSEDATA FROM ACCT
COUNT IN RESPONSEDATALL
WITH ENCODING 1208
WITH XML-DECLARATION
END-XML
但是当我们查看生成的XML文件时,其中包含如下所示的字符:
..Ì_%.ÎÁÊËÑ?>.......Á>Ä?ÀÑ>Å..UTF-8....
预期的输出是应该将下面的编码位添加到标头中。
<?xml version=“1.0” encoding=“utf-8”?>
问题在于,当这个生成的XML被解析回另一段代码时,它遇到了XML-EXCEPTION并带着异常消息完全退出。
问题是是否有其他需要添加的代码或编译选项,以使此xml有效?