我有一个servlet,它应该回复Json {obj:XML}
中的请求(表示包含内部xml对象的Json)。包含XML,编码问题的Java servlet json对象
XML以UTF-8编码,并有几个字符,如=>पोलैंड
。
该XML在org.w3c.dom.Document
中,我使用JSON.org库来解析JSON。当我尝试在ServletOutputStream
上打印时,字符编码不好。我已经测试过它试图在文件中打印响应,但编码不是UTF-8。
Parser.printTheDom(documentFromInputStream,byteArrayOutputStream);
OutputStreamWriter oS=new OutputStreamWriter(servletOutputStream, "UTF-8");
oS.write((jsonCallBack+"("));
oS.write(byteArrayOutputStream);
oS.write(");");
我甚至在当地tryed(不deploing servlet的)前一个和下一个代码:
oS.write("पोलैंड");
,结果是一样的。
而是当我尝试打印文档时,该文件是格式良好的xml。
oS.write((jsonCallBack+"("));
Parser.printTheDom(documentFromInputStream,oS);
oS.write(");");
任何帮助?
您是否尝试过使用由'HttpServletResponse.getWriter()'提供的'Writer',而不是手动包装原始输出流? – skaffman 2012-01-12 16:45:39
嗨,感谢您的评论vm。我试图使用作者,并且它在某些情况下似乎工作,其他字符不正确。你有什么想法吗? @skaffman – pokeRex110 2012-01-16 10:11:14