写过servlet的人都知道,可以通过HttpServletResponse中的getWriter方法获取对客户端的输出流,但是如果在调用getWriter之前未设置编码(既调用setContentType或者setCharacterEncoding方法设置编码),HttpServletResponse则会返回一个用默认的编码(既ISO-8859-1)编码的PrintWriter实例。这样就会造成中文乱码。而且设置编码时必须在调用getWriter之前设置,不然是无效的。比如:
PrintWriter out = resp.getWriter();
resp.setContentType("text/html;charset=utf-8");
out = resp.getWriter();
这样用out输出中文的时候肯定会是乱码的,而且即便你在下面再获取一次getWriter(红色地方),此时的PrintWriter也不会是utf8编码的PrintWriter。 正确的写法应该是:
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
这样的。
这是我自己犯得一个小错误。学艺不精啊,记下来!呵呵!
分享到:
相关推荐
Spring3.0.5支持AOP获取HttpServletResponse扩展资源:spring.web-3.0.5.jar和spring.webmvc-3.0.5.jar 是需要升级替换的。
HttpServletResponse
Java中,引入javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse包的必备jar包:org.apache.commons.httpclient.jar
HttpServletResponse对象、HttpServletResponse应用、请求重定向
httpServletResponse学习笔记
HttpServletRequest和HttpServletResponse的讲解,讲解了用法,案例
主要介绍了Java中HttpServletResponse响应中文出现乱码问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
从HttpServletRequest获取各种路径总结.docx从HttpServletRequest获取各种路径总结.docx
摘要视图订阅分类:java_web学习第四天(request和response的学习)Java输入输出流java压缩多个文件并且返回流示例Java中IO流文件读
详述HttpServletResponse的原理及应用, 产生响应状态行,构建消息响应头
这是很好的HttpServletResponse HttpServletRequest.加强.ppt,实际例子,值得收藏!
1. 熟悉HttpServletResponse对象的应用 2. 掌握请求重定向和请求转发的区别
java HttpServletRequest HttpServletResponse 源码 request response
我们在javaWeb项目时,使用doget和dopost总是会出现各种原因的中文乱码问题,楼主在查阅大量资料后,将为什么有这样的问题,和如何解决这种问题做个总结。 思维导图: 1. 应答乱码处理(response输出页面时乱码) 1.1 ...
如题,HttpServletReques HttpServletResponse很常见的
主要介绍了java HttpServletRequest和HttpServletResponse详解的相关资料,需要的朋友可以参考下
Struts2教程:获得HttpServletResponse对象
JavaWeb开发技术-HttpServletResponse对象.pptx