HttpServletResponse.getOutputStream().print(rspJson.toString());如是中文则报:
java.io.CharConversionException: Not an ISO 8859-1 character:
javax.servlet.ServletOutputStream.print(ServletOutputStream.java:77)
javax.servlet.ServletOutputStream.println(ServletOutputStream.java:187)
com.diyou.server.dispatch.FrontDispatch.service(FrontDispatch.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
方案:
ServletOutputStream out = res.getOutputStream();
OutputStreamWriter ow = new OutputStreamWriter(out,"utf-8");
或
PrintWriter pw = response.getWriter();
均可输出中文。HttpServletResponse.getOutputStream()默认编码中文
项目编码统一设置成GBK或UTF-8无影响,只要统一就行。
GBK的好处在于编译成JAVADOC时的优势。
java.io.CharConversionException: Not an ISO 8859-1 character:
javax.servlet.ServletOutputStream.print(ServletOutputStream.java:77)
javax.servlet.ServletOutputStream.println(ServletOutputStream.java:187)
com.diyou.server.dispatch.FrontDispatch.service(FrontDispatch.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
方案:
ServletOutputStream out = res.getOutputStream();
OutputStreamWriter ow = new OutputStreamWriter(out,"utf-8");
或
PrintWriter pw = response.getWriter();
均可输出中文。HttpServletResponse.getOutputStream()默认编码中文
项目编码统一设置成GBK或UTF-8无影响,只要统一就行。
GBK的好处在于编译成JAVADOC时的优势。
本文详细介绍了在Servlet环境中处理中文输出时遇到的字符转换异常,并提供了将OutputStream与OutputStreamWriter结合使用的解决方案,确保中文字符正确显示。
14万+

被折叠的 条评论
为什么被折叠?



