我正在尝试打印以控制台我的 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)
谢谢
最佳答案
问题是使用默认的控制台设置,将无法正确打印 UTF-8 字符。确保您用于显示输出的控制台也以 UTF-8 编码。例如,在 Eclipse 中,您需要转到
Run Configuration > Common > Encoding
并选择UTF-8或相关编码。
关于java - 编码到 System.out 时的 JAXB 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111478/