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提交中文数据的转码问题相关推荐

  1. html post提交中文数据,HTML使用post方式提交中文内容出现乱码的错误解决方式

    今天在做一个例子的时候,使用post方式提交表单,如果有中文的话,在另一个页面显示出来的时候,总是会出现乱码: 但是将提交方式改为get的时候,就不会出现这种错误. 详细错误见下面图片和代码. HTM ...

  2. python requests模块post_python requests模块提交中文数据

    我的环境:windows平台命令行编码GBK,python2.7.6.需要用python提交一个中文验证码,目标地址的网页编码为utf-8,目前自己模拟了服务端.http请求使用python的requ ...

  3. mysql录入foreigen错误_Python MySQLdb 使用utf-8 编码插入中文数据问题

    最近帮伙计做了一个从网页抓取股票信息并把相应信息存入MySQL中的程序. 使用环境: Python 2.5 for Windows MySQLdb 1.2.2 for Python 2.5 MySQL ...

  4. JavaEE中用response向客户端输出中文数据乱码问题分析

    这篇文章主要介绍了JavaEE中用response向客户端输出中文数据乱码问题分析,需要的朋友可以参考下 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的reques ...

  5. get和post方式提交中文乱码问题解决方案

    [出现乱码的原因] 首先无论使用get方式提交,还是post方式提交,如果参数中包含中文,浏览器都会使用当前浏览器编码对其进行URL编码,然后服务器端再进行URL解码,如果浏览器提交数据的编码和服务器 ...

  6. servlet中文数据存入数据库为乱码的解决办法

    今天在测试从web端存入数据到数据库,结果存入数据库的中文数据出现乱码.当然读取出来的时候也是乱码 乱码的原因是tomcat的内部编码格式iso8859-1导致. 而在每个jsp页面设置的utf-8仅 ...

  7. jsp表单提交中文乱码的解决

    jsp表单提交中文乱码的解决 <%@ page language="java" contentType="text/html; charset=utf-8 &quo ...

  8. tomcat java 参数乱码_【java】怎样解决tomcat中get提交中文参数为乱码的问题

    详解: http://www.360doc.com/content/10/0815/14/2736180_46209475.shtml 老是碰到中文问题,再解决一小点. 这次碰到的问题是,浏览器把ur ...

  9. laravel faker 数据填充 中文数据填充 单元测试数据填充 数据的类型有哪些

    laravel faker 数据填充 中文数据填充 单元测试数据填充 数据的类型有哪些? Installation 安装 laravel5 已经安装,这里不需要安装了,其他框架,可以借鉴. compo ...

最新文章

  1. C#模拟鼠标键盘控制其他窗口(一)
  2. IT部门在企业信息化中的转变
  3. Java程序员的日常—— 《编程思想》关于类的使用常识
  4. ubuntu配置vnc访问
  5. python 操作进程_python进程简单操作
  6. 谷歌浏览器历史版本解决chrome浏览器安装不上的问题
  7. 计算机网络操作系统的主要功能和类型,操作系统的五大管理功能和四大分类
  8. android开发之路-----------转自任玉刚大神
  9. 手机号电子邮箱怎么填写?
  10. hdu6287 口算训练
  11. Android Studio中新建assets文件的两种方法
  12. java实现前缀树--过滤敏感词汇
  13. MCE公司:RIP1 激酶抑制剂可应用于自身免疫性脑脊髓炎的治疗
  14. 计算机软件水平考试什么题型,计算机软考考什么内容
  15. 初学python制作二维码以及最新感悟
  16. 简谈python正则表达式
  17. “大众点评开发者平台”正式上线
  18. 【原理+源码详细解读】从Transformer到ViT
  19. 软件本地化常见错误类型
  20. 转数学专业的数学与计算机专业的数学的比较

热门文章

  1. ie8恶心的bug--4个小时的教训
  2. 上周新闻回顾:微软补了又漏 思科自找对手
  3. java面向对象程序设计第三版耿祥义pdf_java基础知识干货——封装
  4. python最简单单例模式_Python单例模式的4种实现方法 | 学步园
  5. 设计模式 — 行为型模式 — 解释器模式
  6. 云计算技术 — 公有云
  7. 用 C 语言开发一门编程语言 — 跨平台的可移植性
  8. Linux_RHEL7_LDAP、Autofs服务
  9. btc勒索病毒文件恢复及数据库恢复方案
  10. lnmp一键安装调优,lnmp,memcache,全文检索