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. 基于Socket的Winform例子

    一.直接上效果图 二.Socket握手 三.服务端 Thread threadWatch = null;// 负责监听客户端的线程 Socket socketWatch = null;// 负责监听客 ...

  2. ifame子页实现父页面刷新(或跳转到指定页面)

    <script>parent.location.replace('../D_DailyManager/Add.aspx?id=" + x + "');</scri ...

  3. 从DataTable高效率导出数据到Excel

    首先从数据库读取数据到DataTable,这我就不提了,大家都明白.下面直接介绍如何从DataTable高效率导出数据到Excel中的方法,代码如下: using Microsoft.Office.I ...

  4. jsonp模仿了得一个百度搜索框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Unity "Build failed : Asset is marked as don't save " 解决方案

    编译到Android时失败,是字体的原因: -- -- 摘自官方论坛排第二但点赞第一的回答. http://answers.unity3d.com/questions/363963/build-fai ...

  6. Java Mail解决标题乱码问题

    在Java实现发送邮件功能时,直接使用 message.setSubject(subject) 的方式设置标题,在本地测试发送邮件的中文标题可以正常显示,但是将项目部署到服务器后,发送邮件的中文标题就 ...

  7. 使用ajax实现搜索功能

      最近要做一个搜索功能,网上搜了一圈,终于做出来了,很简单的一个,这里分享我的方法,希望对大家有用,不足之处还请指教. 这里使用ajax提交数据,配合jquery将数据显示出来. 用jq的keyup ...

  8. [读书笔记] R语言实战 (二) 创建数据集

    R中的数据结构:标量,向量,数组,数据框,列表 1. 向量:储存数值型,字符型,或者逻辑型数据的一维数组,用c()创建 **  R中没有标量,标量以单元素向量的形式出现 2. 矩阵:二维数组,和向量一 ...

  9. php5 中魔术方法函数有哪几个

    魔术函数:9.3 构造函数:__construct() 9.3.1 实例化对象时被调用. 9.3.2 在类中,构造函数是用来初始化对象的,利用构造函数,可以操作对象,并改变它的值. 9.3.3 当__ ...

  10. 四、分布式 Git(未完待续)

    一.分布式工作流程 在 Git 中,每个开发者同时扮演着节点和集线器的角色——也就是说,每个开发者既可以将自己的代码贡献到其他的仓库中,同时也能维护自己的公开仓库,让其他人可以在其基础上工作并贡献代码 ...