response响应数据乱码原因以及解决方案

response响应数据乱码原因以及解决方案

    图解 因为浏览器默认解码是根据操作系统当前的解码字符集一样(我的是GBK2312),而tomcat编码集默认是ISOxxxx的。所以需要预先设置

解决方案一(推荐)

response.setContentType("text/html;charset=utf-8");
    PrintWriter writer = response.getWriter();
    writer.write("<h1>你好 javaWeb</h1>");
    告诉浏览器,它需要按照什么解码集。(使用setContentType也会将tomcat的编码集设置为同样的,但是一定要在设置之前,我这里必须在PrintWriter之前)

方案二(方案一的完整写法)

//    response.setCharacterEncoding("utf-8");这一句是将tomcat响应数据以utf-8编码, 下面这个代码也会实现这个功能
    response.setHeader("Content-type", "text/html;charset=utf-8");
    PrintWriter writer = response.getWriter();
    writer.write("<h1>你好 javaWeb</h1>");
经验分享 程序员 微信小程序 职场和发展