request.setcharacterencoding()和request.setcontenttype
1、request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值
指定后可以通过getParameter()则直接获得正确的字符串,如果不指定,则默认使用iso8859-1编码。值得注意的是在执行setCharacterEncoding()之前,不能执行任何getParameter()。而且,该指定只对POST方法有效,对GET方法无效。分析原因,应该是在执行第一个getParameter()的时候,Java将会按照编码分析所有的提交内容,而后续的getParameter()不再进行分析,所以setCharacterEncoding()无效。而对于GET方法提交表单是,提交的内容在URL中,一开始就已经按照编码分析提交内容,setCharacterEncoding()自然就无效。
get需在Tomcat的server.xml中的:
URIEncoding="GBK" />) 加入URIEncoding="GBK",解决get请求乱码问题
2、response.setContentType("text/xml;charset=GBK")是设置页面中为中文编码
前者是设置动态文字(参数,数据库),后者设置页面静态文字
response.setContentType指定 HTTP 响应的编码,同时指定了浏览器显示的编码.
response.setCharacterEncoding设置HTTP 响应的编码,如果之前使用response.setContentType设置了编码格式,则使用response.setCharacterEncoding指定的编码格式覆盖之前的设置.
与response.setContentType相同的是,调用此方法,必须在getWriter执行之前或者response被提交之前
补充:
问题1 :从Jsp页面页面传递参数到Servlet显示中文乱码
解决办法:
如果是post 方法提交 则加入以下代码:
request.setCharacterEncoding("GBK");//注意首先保证编码一至,jsp页面用什么编码在此就用什么编码(GBK/GB2312等),此代码只对post提交方式有效
response.setContentType("text/xml;charset=GBK")是设置页面中为中文编码
备注:以上两行代码必须放在PrintWriterout=response.getWriter(); 之前
get 方法提交
如变量name 用
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"GBK");
问题2:解决get方式提交乱码问题:
修改tomcat server.xml 文件,加上红色部分代码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="GBK"/>
备注:以上字符编码格式根据自己需要设定,只要保持一致即可
request.setcharacterencoding()和request.setcontenttype的更多相关文章
- request.setcharacterencoding()和request.setcontenttype(“html/css;charset”)的格式区别
1.request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值 指定后可以通过getParameter()则直接获得正确的字符串,如果不指定,则默 ...
- response.setContentType与 request.setCharacterEncoding 区别
1.request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值的编码 2.response.setContentType指定 HTTP 响应的编码 ...
- request.setCharacterEncoding()、response.setCharacterEncoding()的区别
request.setCharacterEncoding()是你设置获得数据的编码方式.response.setCharacterEncoding()是你响应时设置的编码.response.setCo ...
- java 乱码详解_jsp中pageEncoding、charset=UTF -8"、request.setCharacterEncoding("UTF-8")
http://blog.csdn.net/qinysong/article/details/1179480 java 乱码详解__jsp中pageEncoding.charset=UTF -8&quo ...
- form在submit之前使用request.setCharacterEncoding是没用的
点击了submit按钮,就创建了另一个request了 比如你有a.jsp,上面有个form,form的action指向某个Servlet或者Action,那么你在a.jsp页面上写的request. ...
- request.setCharacterEncoding()对通过method="GET"输入的参数无效
通过GET提交参数有2种 1.浏览器地址栏输入URL?parameter1=value1¶meter2=value2 2.<form method="get" ...
- request.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");不加这句话时,从input控件得到值要用new String(request.getParameter( ...
- HttpServletRequest、request常用方法、request常见应用、请求转发、RequestDispatcher
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息. ...
- Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的差别
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
随机推荐
- 【PHP】最详细PHP从入门到精通(二)——PHP中的函数
PHP从入门到精通 之PHP中的函数 各位开发者朋友大家好,自上次更新PHP的相关知识,得到了大家的广泛支持.PHP的火爆程度不言而喻,函数作为PHP中极为重要的部分,应诸位的支持,博主继续跟进更新 ...
- Java内存管理思维导图
文 by / 林本托 Tips 做一个终身学习的人. 如果想要成为一名合格的 Java 程序员,就必须要涉及和掌握一些 Java 虚拟机的内部结构和特性.最近在读<深入理解Java 虚拟机> ...
- 编写自己的Nmap(NSE)脚本
编写自己的Nmap脚本 一.介绍 在上一篇文章Nmap脚本引擎原理中我们介绍了基本的NSE知识,这篇文章介绍如何基于Nmap框架编写简单的NSE脚本文件,下一篇文章,Nmap脚本文件分析(AMQP协议 ...
- Navicat连接报错:cannot load OCI DLL,126
32位系统下报错:cannot load OCI DLL,126 解决方法:navicat 菜单中 -工具->选项->OCI 选择oracle安装目录下bin里面的oci.dll 在win ...
- Primeton BPS 6.7+MyEclipse_5.5.1GA_E3.2.2插件安装
准备 Primeton_BPS_6.7_Developer MyEclipse5.5插件版 BPS安装 MyEclipse插件安装 点击MyEclipse_5.5.1GA_E3.2.2_Install ...
- flask 扩展之 -- flask-script
一. 使用 Flask-Script 支持命令行选项 1. 安装 $ pip install flask-script 2. 配置 from flask_script import Manager m ...
- 【转载】Windows系统下删除ubuntu
原始日期:2013-11-02 15:51 以windows7为例: 用MbrFix.exe修复MBR 卸载Windows/Linux双系统中的Ubuntu1.如果你有Windows系统安装盘/启 ...
- java 线程的死锁问题
以下的情况可能出现死锁 1.一个对象的同步方法去调用另一个对象的同步方法,同时另一个对象的同步方法也在调用这个对象的同步方法,导致一定几率的死锁,不一定每次都会出现死锁,模拟的代码如下 package ...
- php键值相同的项数值相加
php 合并一个二维数组相同项,数量则相加 $arr = array( array( 'user_id' => 100, 'goods_id' => 10, 'number' => ...
- 学编程担心自己英语不好吗?(IT软件开发常用英语词汇)
发一份,我们导师的收集的常用词汇,与大家共享 欢迎加入Java学习交流裙六一六九五九四四四! S 欢迎加入Java学习交流裙 六一六 九五九 四四四!