您的位置:首页 > 其它

关于form提交的中文字符串错误笔记

2018-04-06 23:17 288 查看
最近在做web的项目,easyui的前台页面上的输入框输入中文的时候,输入OK的,进行submit以后,
后台取request的parameter的数据是乱码,在form所在的html文件里也定义了<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>,
后台采用的是Jfinal的框架,对request的字符串编码不方便修改,找了半天原因,最后发现其实是用Form的时候忘记定义【method="post"】。在深化一下GET与POST的区别:
 1.如果不是定义post,则会认为是get方式放在url后面提交,GET的方式将意味着数据以ASCII码方式提交,并且是需要编码后才   能设置正确的文字,并且GET方式提交的数据将受限于URL的长度。
2.POST的话 放在BODY里面发送,当然微软的IIS也有对POST的数据有限制(IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节)  如果HTML上定义了<meta>的charset,则指定该HTML里面form表单的post方法提交数据的URL encode编码方式为该charset.  不需要自己去做任何的编码转换。在服务器端读取的时候指定charset读取(默认是iso-8859-1)就可以正确的将数据读出来。[html] view plain copy<form method="post" id="documentForm">  
</form>  

更详细的介绍和说明在:1.参数传递中的编码问题(get和post方式) 2.Form表单中method="post/get'的区别

另外,在TOMCAT中,如果存在上传的时候出现中文字等上传的文件乱码问题,则  可以在tomcat的conf文件夹下的找到server.xml文件 tomcat启动的所在的端口的<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>加上URI的编码为UTF-8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: