1

我正在尝试打印以控制台我的 java bean,从 HTTP 响应中解组。我有编码问题。以下是部分回复:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response>
   <ErrorMsg>Ä°ÅŸleminizi ...</ErrorMsg>
</Response>

我的方法是:

public void printToConsole() {
    try {
        JAXBContext context = JAXBContext.newInstance(Response.class);
        Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
                Boolean.TRUE);
        marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
        marshaller.marshal(this, System.out);
    } catch (JAXBException e) {
        e.printStackTrace();
    }
}

通过使用调试器查看 bean 值,它们会在调试器的弹出窗口中正确显示(Eclipse IDE)

谢谢

4

1 回答 1

4

问题是通过使用默认控制台设置,它将无法正确打印 UTF-8 字符。确保用于显示输出的控制台也以 UTF-8 编码。例如,在 Eclipse 中,您需要转到

运行配置 > 通用 > 编码

并选择 UTF-8 或相关编码。

在此处输入图像描述

于 2013-08-07T18:55:21.113 回答