Html表单提交到Servlet输出到页面乱码
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将获取到的前台字段反馈到前台中去,出现中午乱码错误,这是因为添加了这个字段。
response.setContentType("text/html");
// 设置输入的编码格式为utf-8
request.setCharacterEncoding("utf8");
// 设置输入的编码格式为utf-8
response.setCharacterEncoding("utf8");
publicvoid doPost(HttpServletRequest request,HttpServletResponse response)
throwsServletException,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表单提交到Servlet输出到页面乱码的更多相关文章
- 关于form表单提交到Servlet的时候出现tomcat启动错误的解决方法
1.遇到的问题 今天在写jsp代码的时候通过form表单提交到Servlet的时候出现的tomcat启动错误,琢磨了半天,终于找到了解决方法. 解决问题的关键就在于xml配置的路径和servlet中默 ...
- yii2 表单提交一直报错 或者页面脚本写ajax,用firbug调试总是找不到地址页面404
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段: <div style="di ...
- 通过jquery实现form表单提交后不跳转页面,保留当前页面
jquery代码: <script type="text/javascript" src="../js/jquery-1.8.3.min.js">& ...
- Jobs(三) HTML的form表单提交中文后,后台取出乱码的问题
解决form表单中提取的中文在后台乱码的问题有两种情况: form表单以GET方式提交: form表单以POST方式提交 一. 解决以GET方式提交的中文乱码问题,可以更改Tomcat服务器的配置文件 ...
- form表单提交,Servlet接收并读取Excel文件
首先是jsp页面: <body scroll=no style="overflow-y:hidden;" onselectstart="return false&q ...
- form表单提交到Servlet后,弹出对话框,然后在跳转页面
在Servlet中添加一下代码即可 out.print("<script>alert('添加成功!');window.location='index.jsp';</scri ...
- Java入门到精通——调错篇之EasyUI+SpringMVC Form表单提交到Contorller中文字出现乱码
一.错误现象. 界面Post提交到Contorller的时候在Contorller中出现乱码. 二.问题解决. 在Web.xml下加入以下代码就可以解决. <filter> <fil ...
- dedecms自定义表单提交成功如何返回当前页面
在plus/diy.php找到showmsg($bkmsg, $goto);改成showmsg($bkmsg, -1);
- 关于我们经常用到的form表单提交
工作中遇到了太多太多的表单提交问题,曾经学过一个HTML的表单提交给 另外一个HTML页面,对于后台怎么获取有点想不起来了. 今天便做了几个实验,提交订单到后台,来掩饰后台如何接受表单内容: 实验 一 ...
随机推荐
- Event-driven programming-main loop
In computer programming, event-driven programming is a programming paradigm in which the flow of the ...
- C++的头文件(转)
这几天在写比较困难的一部分,所以也没有时间总结一些东西了,不过昨天翻我的笔记本,发现了一篇还不错的笔记,给大家看看. C/C++头文件一览 C.传统 C++ #include <assert.h ...
- IPv6特性,以及SLAAC过程
1. IPv6特性 支持即插即用: 路由器发现(Router Discovery):当一个节点连接到一个IPv6的链路上时,它能够发现本地的路由器,而不必借助动态主机配置协议(DHCP). 前缀发现( ...
- BZOJ 3527: [Zjoi2014]力 FFT_卷积
Code: #include <cmath> #include <cctype> #include <cstdio> #include <cstring> ...
- node——try-catch与异步操作
//try-catch,用于捕获异常 //try-catch在node中只能捕获同步的异常,不能捕获异步异常 var fs=require('fs'); /*fs.writeFile('./abc.t ...
- 从0实现一个React,个人总结
原文: https://github.com/hujiulong/blog/issues/4 个人总结:: 一.JSX和虚拟DOM import React from 'react'; import ...
- python matplotlib数据可视化
#基于python3 Matplotlib构建的3D图形: 使用pycharm的小伙伴把sciview给关掉: 因为sciview显示的是png图片.3d图形一般我们都需要拖拖拽拽的. 参见: htt ...
- 浅谈 Qt 布局那些事
Qt 布局那些事是本文介绍的内容,直接进入主题.GridLayout是一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^GridLayout有两 ...
- Django REST Framework 数码宝贝 - 3步进化 - 混合类 -->
读了我这篇博客, 你会刷新对面对对象的认知, 之前的面对对象都是LJ~~~ 表结构 class Publisher(models.Model): name = models.CharField(max ...
- $.ajax() 获取不到return 返回值
/*常见错误示例 直接在 ajax 里面return 结果 */ function demo(){ $.ajax({ url : 'test.do', type : "post", ...