zoukankan      html  css  js  c++  java
  • Html表单提交到Servlet输出到页面乱码

        Html使用的编码是UTF-8编码显示页面,之后使用form表单提交字段到Servlet中,Servlet将利用getParamer方法获得form提交的字段,之后通过Respone中的writer将获取到的前台字段反馈到前台中去,出现中午乱码错误,这是因为添加了这个字段。    
    1. response.setContentType("text/html");
        可见浏览器对后台提交的字段的一个识别作用,这个字段代表提交的字段是“文本/html”,给浏览器识别,这样后台提交文本时候的时候会出现中文字符是以文本的形式提交的,而提交的字段是使用GBK格式(因为能够在终端正确显示)必然因为输入和输出流的不同,导致中文字符出现编码问题,所以必须对输入和输出流进行编码通化,具体方法就是加如下代码:
    1. // 设置输入的编码格式为utf-8
    2. request.setCharacterEncoding("utf8");
    3. // 设置输入的编码格式为utf-8
    4. response.setCharacterEncoding("utf8");
        完整的操作片段为:
    1. public void doPost(HttpServletRequest request, HttpServletResponse response)
    2. throws ServletException, IOException {
    3. // 设置输入的编码格式为utf-8
    4. request.setCharacterEncoding("utf8");
    5. // 设置输入的编码格式为utf-8
    6. response.setCharacterEncoding("utf8");
    7. // 给浏览器的标示,该字体为text/html
    8. response.setContentType("text/html");
    9. PrintWriter out = response.getWriter();
    10. // 做一些输出操作...........
    11. // out.println();
    12. out.flush();
    13. out.close();
    14. }
        这样便能输出中文了。




  • 相关阅读:
    判断一个序列是否是另一个序列的前缀
    Ant-打增量包
    cas-单点登录-应用说明
    firebug离线安装方法-拖入法
    oracle-获取数据库中所有表的注释 comments
    跨浏览器的placeholder – 原生JS版
    birt IE8 IE9 兼容问题
    websphere部署--web应用-以自己的项目为例
    JSP-页面跳转大全
    Oracle中Union与Union All的区别(适用多个数据库)
  • 原文地址:https://www.cnblogs.com/sober-reflection/p/4086635.html
Copyright © 2011-2022 走看看