Xerces-c无法解析反转的问号

时间:2013-03-04 15:21:33

标签: c++ xml character-encoding xerces-c

我们有来自外部系统的xml消息通过肥皂信封。如果有编码头,那么我们使用它,否则我们提供一个UTF-8。

最近我们收到了有趣字符的消息,如倒置问号:¿,重音字母等

我们处理这些消息的系统无法解析此问题。我注意到这些XML的格式是iso-8859-1 - 所以我尝试将其更改为UTF-8以查看解析器是否会播放球,但仍然没有运气。

知道UTF-8支持更广泛的范围,我在这里检查了iso-8859-1的字符集表:http://en.wikipedia.org/wiki/ISO/IEC_8859-1。它似乎是倒置的问号,支持重音字母。

我正在用这个打墙,真的很感激一些帮助!谢谢!

使用xerces-c 2.7.0在x86 linux机器上使用gnu编译器3.4编译的C ++ / stl代码。

1 个答案:

答案 0 :(得分:0)

正如评论所指出的那样,XML阅读器不一定支持“特殊”字符。这不是xerces-c的独特问题,但也发生在多个版本的JavaScript XML解析器中。我最后通过使用& #nnn;解决了我的问题(例如,南美洲的河流名称,包含以UTF-8编码为多个字符的各种重音字母)。命名法,基于这里的表格:http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent