【问题标题】:Umlaut in Java SAX ParserJava SAX 解析器中的变音符号
【发布时间】:2010-11-30 19:43:15
【问题描述】:

我目前在收到的 XML 文档中遇到德语变音符号值问题。

它将值显示/保存为“ü”而不是“ü”。

XML 编码设置为 UTF-8,应该能够显示变音符号。

我也找不到在 SAX 解析器上设置语言环境的任何选项。

有没有其他方法可以使值正确保存?

顺便说一句:我使用 Eclipse 作为 IDE。

非常感谢所有帮助!

提前致谢!

【问题讨论】:

    标签: java eclipse xml-parsing sax


    【解决方案1】:

    XML 以 UTF-8 编码,但您使用 ISO-8859-1 对其进行解码。

    尝试使用InputStream 和其他面向“二进制”的XML API。避免使用Reader,或在解析XML 之前尝试从byte[] 转换为String。与解析器相比,您更容易弄乱字符编码。

    【讨论】:

    • 是的,使用 InputStream 而不是 Reader 就像一个魅力!非常感谢您的快速响应!
    【解决方案2】:

    在 XML 声明中将 XML 编码设置为 UTF-8 是一回事,但另一件事是 XML 文档的物理编码,即,您可以拥有一个显示 <?xml version="1.0" encoding="utf-8"?> 的 XML 文件,但文件本身可能仍然是 ANSI 编码的(或其他)。

    【讨论】:

    • 那将是格式错误的 XML。在这种情况下,XML 很好。读取它的代码是错误的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2015-09-28
    • 2015-02-15
    • 2017-08-19
    • 2012-01-25
    相关资源
    最近更新 更多