如题,小弟新手,最近看教学视频说用get提交的表单会产生乱码问题,所以要在服务器端用ios8859-1先编码一次,再用utf-8解码一次,
但是在小弟测试的过程中,并没有产生这个问题。也只有在post提交中需要request.setCharacterEncodeing("utf-8")一下。
所以有点困惑,现在到底还需不需要在get提交之后解决中文乱码问题?
需要的,如果你项目发布使用的不是Tomcat怎么办;
从Tomcat5.x开始,GET和POST方法提交的信息,Tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。
而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码,所以你用GET请求时,tomcat将会使用iso-8859-1将提交的字节转换成字符串。
前段时间我也遇见这个问题,你可以试一试在提交的时候对中文字符编码URLencording.enconding这个方法
服务器断,对应讲编码设置一样
你可以在tomcat服务器安装目录底下的conf文件夹下的server.xml文件进行修改,如下图所示,加上那句红色框起来的就行,不要加错位置!
如果是使用springmvc可以使用它现成的统一字符编码过滤器,否则,自己最好写一个