调用Action获取字符串,其中包含中文,使用如下代码输出:
ServletOutputStream out = response.getOutputStream();
request.setAttribute("xmlTree", tree);
out.print(tree);
使用的编码是GBK,在JDK1.5运行抛出异常:
java.io.CharConversionException: Not an ISO 8859-1 character: 树
at javax.servlet.ServletOutputStream.print(ServletOutputStream.java:88)
问题可能出现在ServletOutputStream上,于是用PrintWriter替换了ServletOutputStream,运行正确,如:
PrintWriter pw = response.getWriter();
pw.print(tree);
参考:
http://hi.baidu.com/icewee/blog/item/24f28d24016f536934a80f11.html