我正在尝试将字符串解析为xml,用于ISO-8859-9。我的代码是:
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:” 我怎么解决这个问题?
答案 0 :(得分:2)
答案 1 :(得分:1)
如果输入包含UTF-8字符,则它不是ISO-8859-9流。在尝试解析之前,将其解析为UTF-8或将其转换为ISO-8859-9。你只能为每个文档获得一个字符集,试图混合使整个事情变得毫无意义。