zoukankan      html  css  js  c++  java
  • servlet输出流乱码

    PrintWriter out = response.getWriter(); 

    servlet输出流乱码解决思路:
    如果你打算返回一个文本型的(text/*)页面,不论是HTML还是纯文本,通常都需要调用response.getWriter()方法。然而该方法必须在charset被设置之后调用,为什么呢?因为Writer必须知道如何将Java内部的Unicode字符转换成字节流。假如你选择了GBK,一个汉字将被输出成两个字节的编码;假如你选择了UTF-8,一个汉字将被输出成三个字节的编码。 
    如果你打算返回一个二进制型的内容,例如:图片,那么你必须调用response.getOutputStream()方法。 
    OutputStream out = response.getOutputStream(); 
    需要注意的是,你只能在getWriter()和getOutputStream()中选择一个。

    一旦其中一个方法被调用了,再调用其它一个方法时,系统会抛出异常。

            request.setCharacterEncoding("utf-8");

            response.setCharacterEncoding("utf-8");

            response.setContentType("text/html");

            PrintWriter out = response.getWriter();//必须在 response.setCharacterEncoding("utf-8")之后


            



  • 相关阅读:
    【c++】龟兔赛跑问题
    【2016.3.21】关于字符串的一点总结
    程序员面试宝典(第五版)里的错误
    团队作业_总结_RTCSD2017
    团队作业_一周二周_RTCSD2017
    第三次作业_RTCSD2017
    第二次作业_RTCSD
    分析Demo1闪灯例程里的main.c
    第一次作业_RTCSD2017
    约束与自由
  • 原文地址:https://www.cnblogs.com/ae6623/p/4416637.html
Copyright © 2011-2022 走看看