【问题标题】:SAX parser breaking on ñSAX 解析器中断 ñ
【发布时间】:2008-11-06 15:52:00
【问题描述】:

我通过扩展默认处理程序在 Java 中实现了 SAX 解析器。 XML 在其内容中有一个ñ。当它击中这个角色时,它会破裂。我在字符方法中打印出 char 数组,它只是以 ñ 之前的字符结束。解析器似乎在此之后停止,因为即使还有更多内容,也没有调用其他方法。即 endElement 方法不再被调用。有没有人遇到过这个问题或对如何处理有任何建议?

【问题讨论】:

    标签: java xml encoding sax


    【解决方案1】:

    文件的编码是什么?确保文件的编码修饰与其匹配。您的解析器可能默认为 ascii 或 ISO-8859-1。你可以像这样设置编码

    <?xml version="1.0" encoding="UTF-8"?>
    

    UTF-8 将覆盖该字符,只需确保这是文件实际所在的内容。

    【讨论】:

      【解决方案2】:

      如果您以 ASCII 格式保存 XML,则只能使用 8 位字符表的下半部分(前 128 个字符)。要在 XML 中包含重音字符或其他非英语字符,您必须将 XML 保存为 UTF-8 或转义您的字符,如 ñ对于ñ。

      【讨论】:

        【解决方案3】:

        我遇到了这个问题。您提供的 XML 流必须我读为 ascii,在代码中将 ascii 编码为“UTF-8”或将其更改为字符流,一切都会好起来的。

        这样的事情会帮助你:

        File F = new File(C://Location);
        BuffeReader Readfile = new BufferReader(F);
        InputSource Encode = new InputSource(Readfile);
        Encode.setEncoding("UTF-8");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-14
          • 1970-01-01
          • 1970-01-01
          • 2015-04-12
          • 2012-08-27
          • 1970-01-01
          • 1970-01-01
          • 2014-03-29
          相关资源
          最近更新 更多