Code Bye

get和post提交

 

自己写了个两个jsp页面,通过浏览器传递值,用get提交不管怎么设置都有乱码,而post提交乱码都不见了,第一次发现有这种区别?求大神讲解


5分
tomcat下get提交最终用的还是tomcat的编码,即iso8859-1(默认),要自己设置下。

2分
request.setCharacterEncoding(“UTF-8”);//post设编码方式
request.setContentType(“text/html”,”charset:utf-8″)////set设编码方式

不管怎么设置都乱码?什么意思?


2分
引用 1 楼 fangmingshijie 的回复:

tomcat下get提交最终用的还是tomcat的编码,即iso8859-1(默认),要自己设置下。

同意1楼说法
我也是初学者不知说的对不对:因为get提交会到地址栏显示,而经过地址栏显示后服务器会自动将你原来的编码转换为iso8859-1,因此你在接收时需要把get到的内容转成你需要的格式,或者修改server.xml中的编码配置。具体做法你可以多搜搜,这类讨论很多。

引用 2 楼 dandan8989251 的回复:

request.setCharacterEncoding(“UTF-8”);//post设编码方式
request.setContentType(“text/html”,”charset:utf-8″)////set设编码方式

不管怎么设置都乱码?什么意思?

就是用set方法时,我在页面设置了utf-8,但是还是乱码,该是post直接就好了。


2分
tomcat接收get方法默认使用的是ISO-8859-1编码,post提交基本不会出现乱码,至于为什么也在探究!
引用 1 楼 fangmingshijie 的回复:

tomcat下get提交最终用的还是tomcat的编码,即iso8859-1(默认),要自己设置下。

确实忘了设置tomcat了,设置完之后get、post都没有乱码了

引用 3 楼 u011385186 的回复:
Quote: 引用 1 楼 fangmingshijie 的回复:

tomcat下get提交最终用的还是tomcat的编码,即iso8859-1(默认),要自己设置下。

同意1楼说法
我也是初学者不知说的对不对:因为get提交会到地址栏显示,而经过地址栏显示后服务器会自动将你原来的编码转换为iso8859-1,因此你在接收时需要把get到的内容转成你需要的格式,或者修改server.xml中的编码配置。具体做法你可以多搜搜,这类讨论很多。

说的很对我弄好了

引用 5 楼 dingwenzheng 的回复:

tomcat接收get方法默认使用的是ISO-8859-1编码,post提交基本不会出现乱码,至于为什么也在探究!

哦,好吧


5分
因为GET方式,是在WWW.XXX.COM?VALUES=参数值,在网址后面添加参数使用默认的ISO8859方式,所以GET方式需要你在后台转编码方式…..一般TOMCAT是不会去动它的

4分
这个只要搞清楚乱码的产生的原因就ok了,在浏览器与服务器之间,一班都是以iso-8859-1传输的

还有就是页面本身的编码(例如,你本身jsp的文件编码为gbk,却在meta里设置charset为utf-8,这肯定会乱码的。因为也页面为gbk,而你却告诉浏览器以utf-8解码)。。。。。

get提交中文的话,要编码,使用encodeURI() 函数

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明get和post提交