自己写了个两个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楼说法 |
就是用set方法时,我在页面设置了utf-8,但是还是乱码,该是post直接就好了。 |
|
2分 |
tomcat接收get方法默认使用的是ISO-8859-1编码,post提交基本不会出现乱码,至于为什么也在探究!
|
确实忘了设置tomcat了,设置完之后get、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() 函数
|