response响应数据乱码原因以及解决方案
- 图解
- 因为浏览器默认解码是根据操作系统当前的解码字符集一样(
我的是GBK2312
),而tomcat
编码集默认是ISOxxxx
的。所以需要预先设置
解决方案一(推荐)
response.setContentType("text/html;charset=utf-8");PrintWriter writer = response.getWriter();writer.write("你好 javaWeb
");
- 告诉浏览器,它需要按照什么解码集。(使用setContentType也会将tomcat的编码集设置为同样的,
但是一定要在设置之前,我这里必须在PrintWriter之前
)
方案二(方案一的完整写法)
response.setHeader("Content-type", "text/html;charset=utf-8");PrintWriter writer = response.getWriter();writer.write("你好 javaWeb
");