0

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

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

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

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

我正在为此碰壁,非常感谢一些帮助!谢谢!

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

4

1 回答 1

0

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

于 2013-03-04T16:00:05.863 回答