我正在尝试打印来控制我的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)中正确显示
由于
答案 0 :(得分:4)
问题是通过使用默认控制台设置,它将无法正确打印UTF-8字符。确保用于显示输出的控制台也以UTF-8编码。例如,在Eclipse中,您需要转到
运行配置&gt;常见&gt;编码
并选择UTF-8或相关编码。