Java Jaxb未解组unicode 1F609

Java Jaxb未解组unicode 1F609,java,xml,unicode,jaxb,Java,Xml,Unicode,Jaxb,在解组unicode字符0x1f609(xml版本1.0)时,我们遇到了一个ParseError 根据以下文档,它似乎是一个有效的xml字符: 仅仅删除这个字符并不是解决方案,因为在未来的XML文档中可能会有其他类似的字符 我们如何解决这个问题? 它是JAXB Bug吗 还是必须删除其他字符范围内的所有字符?(例如,所有表情符号:) 首先,仔细检查运行JVM的默认字符集是什么,XML字符集是什么 JVM-System.getProperty(“file.encoding”) XML- 可能是为

在解组unicode字符0x1f609(xml版本1.0)时,我们遇到了一个ParseError

根据以下文档,它似乎是一个有效的xml字符:

仅仅删除这个字符并不是解决方案,因为在未来的XML文档中可能会有其他类似的字符

我们如何解决这个问题? 它是JAXB Bug吗

还是必须删除其他字符范围内的所有字符?(例如,所有表情符号:)

  • 首先,仔细检查运行JVM的默认字符集是什么,XML字符集是什么

    JVM-
    System.getProperty(“file.encoding”)

    XML-

  • 可能是为了让它工作,字符串中可以出现这样的字符, 要么需要URL编码,要么必须显式使用

UPD: 此外,还需要检查该字符在XML输入中的外观。如果它是HTML编码的
😉
和#128521问题完全是关于
&
角色的,而不是关于“眨眼脸”<无法从XML解析代码>&
。它必须是XML编码为
&或在CDATA中。只要CDATA不是一个选项,您就可能需要一个拦截器来对字符串进行XML编码。

  • 首先,仔细检查运行JVM的默认字符集是什么,XML字符集是什么

    JVM-
    System.getProperty(“file.encoding”)

    XML-

  • 可能是为了让它工作,字符串中可以出现这样的字符, 要么需要URL编码,要么必须显式使用

UPD:
此外,还需要检查该字符在XML输入中的外观。如果它是HTML编码的
😉
和#128521问题完全是关于
&
角色的,而不是关于“眨眼脸”<无法从XML解析代码>&
。它必须是XML编码为
&或在CDATA中。只要CDATA不是一个选项,您可能需要预先设置一个拦截器来对字符串进行XML编码。

JVM默认字符集设置为windows-1252。当我将其更改为:
System.setProperty(“file.encoding”,“UTF-8”)解组再次失败。XML编码也设置为UTF-8
第二种解决方案(URL编码或
)必须由XML数据的提供者完成,对吗?这可能是一个问题,因为我们从第三方Web服务获取它。然而,0x1f609对我来说似乎是一个有效的xml字符。还是我错了?请看更新的答案。我认为这是一个问题。不是JAXB it-self。异常消息如下:
由以下原因引起:
因此我认为它是正确的xml编码的?实际字符串值在xml中是什么样子的?例如
这是一张笑脸???0x1f609有什么用?
?这是我们从web服务获得它的方式:
一些文本JVM默认字符集设置为windows-1252。当我将其更改为:
System.setProperty(“file.encoding”,“UTF-8”)解组再次失败。XML编码也设置为UTF-8
第二种解决方案(URL编码或
)必须由XML数据的提供者完成,对吗?这可能是一个问题,因为我们从第三方Web服务获取它。然而,0x1f609对我来说似乎是一个有效的xml字符。还是我错了?请看更新的答案。我认为这是一个问题。不是JAXB it-self。异常消息如下:
由以下原因引起:
因此我认为它是正确的xml编码的?实际字符串值在xml中是什么样子的?例如
这是一张笑脸???0x1f609有什么用?
?这是我们从web服务获得它的方式:
一些文本