post和get提交中文数据的转码问题
request.setCharacterEncoding("GBK"); 是针对form表单 Method="POST"提交时起作用。
new String(str.getBytes("iso-8859-1"),"GBK"); 是针对form表单 Method="GET"提交时起作用。
注意:
对于URL提交的数据和表单中GET方式提交的数据,在接收数据的JSP中设置request.setCharacterEncoding参数
是不行的,因为在Tomcat5.0中,默认情况下使用ISO- 8859-1对URL提交的数据和表单中GET方式提交的数据进
行重新编码(解码),而不使用该参数对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码)。
要解决该问题,应该在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI或者 URIEncoding属
性,其中useBodyEncodingForURI参数表示是否用request.setCharacterEncoding 参数对URL提交的数据和表单
中GET方式提交的数据进行重新编码,在默认情况下,该参数为false(Tomcat4.0中该参数默认为true);
URIEncoding参数指定对所有GET方式请求(包括URL提交的数据和表单中GET方式提交的数据)进行统一的重新
编码(解码)的编码。 URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的
数据进行统一的重新编码(解码),而useBodyEncodingForURI则是根据响应该请求的页面的
request.setCharacterEncoding参数对数据进行的重新编码(解码),不同的页面可以有不同的重新编码(解
码)的编码。所以对于URL提交的数据和表单中GET方式提交的数据,可以修改 URIEncoding参数为浏览器编码
或者修改useBodyEncodingForURI为true,并且在获得数据的JSP页面中 request.setCharacterEncoding参数设
置成浏览器编码。
特别提示:如果想在GET提交方式上,也可以采用:request.setCharacterEncoding("GBK")进行转码的话。请将tomcat->conf->server.xml 下面代码修改如下所示:
<Connector port="8080" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
post和get提交中文数据的转码问题相关推荐
- html post提交中文数据,HTML使用post方式提交中文内容出现乱码的错误解决方式
今天在做一个例子的时候,使用post方式提交表单,如果有中文的话,在另一个页面显示出来的时候,总是会出现乱码: 但是将提交方式改为get的时候,就不会出现这种错误. 详细错误见下面图片和代码. HTM ...
- python requests模块post_python requests模块提交中文数据
我的环境:windows平台命令行编码GBK,python2.7.6.需要用python提交一个中文验证码,目标地址的网页编码为utf-8,目前自己模拟了服务端.http请求使用python的requ ...
- mysql录入foreigen错误_Python MySQLdb 使用utf-8 编码插入中文数据问题
最近帮伙计做了一个从网页抓取股票信息并把相应信息存入MySQL中的程序. 使用环境: Python 2.5 for Windows MySQLdb 1.2.2 for Python 2.5 MySQL ...
- JavaEE中用response向客户端输出中文数据乱码问题分析
这篇文章主要介绍了JavaEE中用response向客户端输出中文数据乱码问题分析,需要的朋友可以参考下 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的reques ...
- get和post方式提交中文乱码问题解决方案
[出现乱码的原因] 首先无论使用get方式提交,还是post方式提交,如果参数中包含中文,浏览器都会使用当前浏览器编码对其进行URL编码,然后服务器端再进行URL解码,如果浏览器提交数据的编码和服务器 ...
- servlet中文数据存入数据库为乱码的解决办法
今天在测试从web端存入数据到数据库,结果存入数据库的中文数据出现乱码.当然读取出来的时候也是乱码 乱码的原因是tomcat的内部编码格式iso8859-1导致. 而在每个jsp页面设置的utf-8仅 ...
- jsp表单提交中文乱码的解决
jsp表单提交中文乱码的解决 <%@ page language="java" contentType="text/html; charset=utf-8 &quo ...
- tomcat java 参数乱码_【java】怎样解决tomcat中get提交中文参数为乱码的问题
详解: http://www.360doc.com/content/10/0815/14/2736180_46209475.shtml 老是碰到中文问题,再解决一小点. 这次碰到的问题是,浏览器把ur ...
- laravel faker 数据填充 中文数据填充 单元测试数据填充 数据的类型有哪些
laravel faker 数据填充 中文数据填充 单元测试数据填充 数据的类型有哪些? Installation 安装 laravel5 已经安装,这里不需要安装了,其他框架,可以借鉴. compo ...
最新文章
- C#模拟鼠标键盘控制其他窗口(一)
- IT部门在企业信息化中的转变
- Java程序员的日常—— 《编程思想》关于类的使用常识
- ubuntu配置vnc访问
- python 操作进程_python进程简单操作
- 谷歌浏览器历史版本解决chrome浏览器安装不上的问题
- 计算机网络操作系统的主要功能和类型,操作系统的五大管理功能和四大分类
- android开发之路-----------转自任玉刚大神
- 手机号电子邮箱怎么填写?
- hdu6287 口算训练
- Android Studio中新建assets文件的两种方法
- java实现前缀树--过滤敏感词汇
- MCE公司:RIP1 激酶抑制剂可应用于自身免疫性脑脊髓炎的治疗
- 计算机软件水平考试什么题型,计算机软考考什么内容
- 初学python制作二维码以及最新感悟
- 简谈python正则表达式
- “大众点评开发者平台”正式上线
- 【原理+源码详细解读】从Transformer到ViT
- 软件本地化常见错误类型
- 转数学专业的数学与计算机专业的数学的比较
热门文章
- ie8恶心的bug--4个小时的教训
- 上周新闻回顾:微软补了又漏 思科自找对手
- java面向对象程序设计第三版耿祥义pdf_java基础知识干货——封装
- python最简单单例模式_Python单例模式的4种实现方法 | 学步园
- 设计模式 — 行为型模式 — 解释器模式
- 云计算技术 — 公有云
- 用 C 语言开发一门编程语言 — 跨平台的可移植性
- Linux_RHEL7_LDAP、Autofs服务
- btc勒索病毒文件恢复及数据库恢复方案
- lnmp一键安装调优,lnmp,memcache,全文检索