如何解析带有特殊字符的XML?

4
每当我尝试解析XML中的特殊字符,例如“ō”或“満月先生”,就会出现错误。XML文档声称使用UTF-8编码,但事实并非如此。 以下是我在Firefox中查看XML时麻烦的文本示例:
Bleach: The Diamond Dust Rebellion - MŌ Hitotsu no HyŌrinmaru; Bleach - The DiamondDust Rebellion - Mou Hitotsu no Hyourinmaru
在实际网站上,“Å�”实际上是字符“ō”。
在实际网站上,这些字符显示为“満月先生”和“美夜子”:
One day, Doraemon and his friends meet Professor Mangetsu (満月先生, Professor Mangetsu?), who studies magic and magical beings such as goblins, and his daughter Miyoko (美夜子, Miyoko?), and are warned of the dangerous approximation of the "star of the Underworld" to the Earth's orbit.
除了这些特殊字符之外,实际的XML文件已经格式化正确,但它们似乎没有使用UTF-8编码。有没有办法让NSXML解析这些XML文件?

看起来是将 UTF-8 解释为 Latin-1 并重新编码了。 - Ignacio Vazquez-Abrams
正如我所提到的,在实际网站上,字符显示为ō和満月先生,但在XML文档中(在头部定义为UTF-8),它们显示为Å�和æº�æ��å��ç��。你认为这只是Firefox将字符解释为Latin-1,还是创建XML文档的人搞砸了?如果我尝试使用NSUTF8StringEncoding在Xcode中加载XML,它不起作用。如果我指定编码,例如NSASCIIStringEncoding或NSISOLatin1StringEncoding,它将加载文档,但会将ō显示为Å,这是Å的代码(看起来像数据丢失)。 - Snooze
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接