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

  

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. publicvoid doPost(HttpServletRequest request,HttpServletResponse response)
  2. throwsServletException,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. }

Html表单提交到Servlet输出到页面乱码的更多相关文章

  1. 关于form表单提交到Servlet的时候出现tomcat启动错误的解决方法

    1.遇到的问题 今天在写jsp代码的时候通过form表单提交到Servlet的时候出现的tomcat启动错误,琢磨了半天,终于找到了解决方法. 解决问题的关键就在于xml配置的路径和servlet中默 ...

  2. yii2 表单提交一直报错 或者页面脚本写ajax,用firbug调试总是找不到地址页面404

    在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段: <div style="di ...

  3. 通过jquery实现form表单提交后不跳转页面,保留当前页面

    jquery代码: <script type="text/javascript" src="../js/jquery-1.8.3.min.js">& ...

  4. Jobs(三) HTML的form表单提交中文后,后台取出乱码的问题

    解决form表单中提取的中文在后台乱码的问题有两种情况: form表单以GET方式提交: form表单以POST方式提交 一. 解决以GET方式提交的中文乱码问题,可以更改Tomcat服务器的配置文件 ...

  5. form表单提交,Servlet接收并读取Excel文件

    首先是jsp页面: <body scroll=no style="overflow-y:hidden;" onselectstart="return false&q ...

  6. form表单提交到Servlet后,弹出对话框,然后在跳转页面

    在Servlet中添加一下代码即可 out.print("<script>alert('添加成功!');window.location='index.jsp';</scri ...

  7. Java入门到精通——调错篇之EasyUI+SpringMVC Form表单提交到Contorller中文字出现乱码

    一.错误现象. 界面Post提交到Contorller的时候在Contorller中出现乱码. 二.问题解决. 在Web.xml下加入以下代码就可以解决. <filter> <fil ...

  8. dedecms自定义表单提交成功如何返回当前页面

    在plus/diy.php找到showmsg($bkmsg, $goto);改成showmsg($bkmsg, -1);

  9. 关于我们经常用到的form表单提交

    工作中遇到了太多太多的表单提交问题,曾经学过一个HTML的表单提交给 另外一个HTML页面,对于后台怎么获取有点想不起来了. 今天便做了几个实验,提交订单到后台,来掩饰后台如何接受表单内容: 实验 一 ...

随机推荐

  1. java/javascript 时间操作工具类

    一.java 时间操作工具类 import org.springframework.util.StringUtils; import java.text.ParseException; import ...

  2. 1到32 数字正则 还有IP的

    正则是按位解析匹配的,所以[1-32]是不行的. 解析: 1.1-32,包含1位数(1-9)和2位数(10-32) 2.10-32必须切割,10-19和20-29形式一样,得到[12][0-9],30 ...

  3. HTML5音频可视化频谱跳动代码

    今天学习到用canvas来写  HTML5音频可视化频谱跳动代码  将代码在此做一总结: <!DOCTYPE html> <html lang="en"> ...

  4. vue中通过js控制页面样式方法

    在使用vue.js框架的时候,有时候会希望在页面渲染完成之后,再执行函数方法来处理初始化相关的操作,如果只处理页面位置.宽或者高时,必须要在页面完全渲染之后才可以,页面没有加载完成之前,获取到的宽高不 ...

  5. 有关DevExpress 安装后vs工具箱不显示图标的错误

    在https://www.devexpress.com/Support/Center/Question/Details/T214296/missing-icons-from-toolbox找到解决方法 ...

  6. Boost Asio(一)初探

    一.简介 Boost Asio ( asynchronous input and output)关注数据的异步输入输出.Boost Asio 库提供了平台无关性的异步数据处理能力(当然它也支持同步数据 ...

  7. Python更换pip源,更换conda源

    更换pip源: 1.在windows文件管理器中,输入 %APPDATA% 2.在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件 3.在新建的pip.ini文件中输入以下内 ...

  8. CSS背景使用,引入、尺寸、平铺、定位、多重背景

    <!DOCTYPE html><html>    <head>        <meta charset="UTF-8">      ...

  9. hdu 1240(三维广搜)

    题意: 有一个n*n*n的三维空间. 给你起始坐标和终点坐标.要你从起点到终点,问最少需要多少步走出去.如果走不出去则输出"NO ROUTE". 空间中 'O' 表示这个点可以走, ...

  10. 工作需求——VBA操作打印机

    因为最近做的事情比较多,平时也多用EXCEL,所以顺便学习EXCEL的功能性的东西 转载:https://msdn.microsoft.com/zh-tw/vba/excel-vba/articles ...