【问题标题】:XMLStreamReader EncodingXMLStreamReader 编码
【发布时间】:2013-01-14 19:44:31
【问题描述】:

我的 XML 中有一些来自 Unicode 扩展 B 中文/日文/韩文的字符:

???????????????????????????????? 

但是当我使用 streamReader.getText() 时,它会返回:

有谁知道Java的XMLStreamReader的unicode字符编码方案是否可以改变?

它适用于常见的东亚字符,但不适用于 Unicode 扩展 B 中的字符。

【问题讨论】:

  • 你是如何构建XMLStreamReader的? XMLStreamReader#getEncoding()XMLStreamReader#getCharacterEncodingScheme() 返回什么? XML 实际存储的编码是什么?
  • 嗨,马特,XML 是 utf-8,XMLStreamReader#getCharacterEncodingScheme 也是 utf-8。 XMLStreamReader#getEncoding 为 null XMLStreamReader 由 XMLInputFactory.createXMlStreamReader() 创建

标签: java xml unicode xmlstreamreader


【解决方案1】:

在创建 XML Stream Reader 时,可以指定编码为 UTF-8。喜欢下面的 API

abstract XMLStreamReader createXMLStreamReader(InputStream stream, String encoding)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多