【问题标题】:Unmarshalling with JAXB leads to : javax.xml.bind.UnmarshalException (invalid byte sequence)使用 JAXB 解组会导致:javax.xml.bind.UnmarshalException(无效字节序列)
【发布时间】:2011-07-16 14:53:26
【问题描述】:

这是我的问题:我编写了一个程序来解组作为输入给出的 XML 文件,结果证明我的程序在我的开发环境中运行良好 但是同样的程序将产生以下结果我客户环境的异常:

javax.xml.bind.UnmarshalException - 有关联的例外: [java.io.UTFDataFormatException: 2 字节 UTF-8 序列的字节 2 无效。]

作为我程序输入的 XML 文件使用 UTF-8 作为编码类型。 Unmarshaller 对象使用默认编码类型,即 UTF-8,因为我没有为其设置任何属性值。此外,我没有为 unmarshaller 设置模式,所以我什至没有请求 XML 验证。

有没有人有任何想法或已经遇到过同样的问题?

提前致谢

【问题讨论】:

    标签: jaxb unmarshalling


    【解决方案1】:

    我已经收到此错误。我已将配置更改为使用 ISO-8859-1 编码: marshaller.setProperty(Marshaller.JAXB_ENCODING,“ISO-8859-1”);

    我可以将 UTF-8 字符串放入 xml 流中,即使编码没有像 ISO-8859-1 那样定义,它也可以正确编组/解组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-14
      • 2012-11-22
      • 1970-01-01
      • 2011-01-15
      • 2014-02-17
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多