有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ISO88599的java xml解析

我正在尝试将ISO-8859-9的字符串解析为xml。我的代码是:

private Document stringToXML(String input)
{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder;
  builder = factory.newDocumentBuilder();           
  return builder.parse(new ByteArrayInputStream(input.getBytes("ISO-8859-9")));     
}

如果输入仅包含utf-8字符,代码将正常运行,但输入包含任何特殊字符,如抛出的“com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:” 我怎样才能解决这个问题


共 (2) 个答案

  1. # 2 楼答案

    如果输入包含UTF-8字符,则它不是ISO-8859-9流。在尝试解析之前,将其解析为UTF-8或将其转换为ISO-8859-9。每个文档只有一个字符集,尝试混合会使整个文档变得毫无意义