表单用post方法提交数据时乱码问题(转)
来源:互联网 发布:怎么购买域名 编辑:程序博客网 时间:2024/05/17 04:30
表单用post方法提交数据时乱码问题(转)
(2014-03-18 18:14:44)转载▼
标签:
it
浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urlencoded; charset=UTF-8
这样服务器端就可以知道form里的字符是怎么编码的了。要注意的是这里的charset=UTF-8是默认的,如果这个HTML代码里有,那么此HTML的form表单将以GBK的编码方式提交数据,其实表单提交数据使用的编码方式是可以指定的.那现在用HttpClient,根本就没有浏览器和具体的HTML代码,其实HttpClient的PostMethod对象里已经有设定编码方式的方法
Java代码
- PostMethod
post new= PostMethod( "http://iteye.com"); - post.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");
首先我用request.getCharacterEncoding()来看表单提交数据所使用的编码方法,奇怪的是用浏览器提交request.getCharacterEncoding()是null,而用HttpClient提交request.getCharacterEncoding()的值是UTF-8,和客户端指定的编码方式一致,后来google了下,原来是浏览器做的手脚,IE是不将表单提交数据使用的编码方式写到HTTP头部发送出去的.我发现如果用HttpClient的post提交数据,编码方式指定的话,request.getCharacterEncoding()是能得到值的,而且request对象也用此编码方式解码,不用request.setCharacterEncoding("")指定;如果request.getCharacterEncoding()是null,就要request.setCharacterEncoding("")指定编码方式,要和你提交时设定的编码方式一致.然后request.getParameter("")的值就是你想要的了.(这里有可能有误的地方请指出)
阅读全文
0 0
- 表单用post方法提交数据时乱码问题(转)
- 表单用post方法提交数据时乱码问题
- 表单用post方法提交数据时乱码问题
- 针对表单的post方法提交乱码问题
- 提交表单 将数据由gb2312改为utf-8 POST提交表单乱码问题
- 解决Post提交表单乱码问题
- get/post 提交表单乱码的问题
- form表单post提交时中文乱码
- 表单通过get和post方式提交数据解决乱码的方法
- Jsp表单提交数据乱码问题
- 关于表单提交数据乱码问题
- Form表单提交数据的乱码问题
- 解决表单Post方式提交的中文乱码问题
- SSH中post提交表单action中文乱码问题
- 【解决方案】nodejs关于post提交表单的中文乱码问题
- 【转】ajax使用POST方法提交表单
- POST提交表单时EnType设置问题
- tomcat post 提交时出现乱码问题
- 使用Python内置集合对象和内置函数filter()过滤无效书评
- cmd黑窗口查看端口占用、相应进程、杀死进程的命令
- 使用线性回归拟合平面最佳直线及预测之Python+sklearn实现
- Spring4-@Enable** 注解的实现原理
- 面试题:this和super关键字分别代表什么?以及他们各自使用场景和作用?
- 表单用post方法提交数据时乱码问题(转)
- 数据结构——第二讲、线性结构(8)
- 快速去阴影--Fast Shadow Detection from a Single Image Using a Patched Convolutional Neural Network
- 为什么你该开始学习编程了?
- Microsoft visual studio 2015已停止工作最全解决办法
- 大新闻 波士顿动力和Schaft && 软银
- 机器人也会双手互搏了
- 吸管除了喝饮料还能干嘛?做机器人呀~
- 业界 | 想要创立一个机器人公司?机器人能提供服务比机器人本身更重要