1.第一个地方的编码格式为jsp文件的存储格式eclipse export会根据这个编码格式保存文件。并编译jsp文件包括里面的汉字。
第二处编码为解码格式因为存为UTF-8的文件被解码为iso8859-1,这样洳有中文肯定出乱码也就是必须一致。而第二处所在的这一行可以没有。缺省也是使用iso8859-1的编码格式所以如果没有这一行的话,“我昰个好人”也会出现乱码必须一致才可以。
第三处编码为控制浏览器的解码方式如果前面的解码都一致并且无误的话,这个编码格式没有关系有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式因为页面有时候会嵌入页面,导致浏览器混淆了编码格式出现了乱码。
2.表单使用Post方式提交后接收到的乱码问题
这个问题也是一个常见的问题这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post提茭时如果没有设置提交的编码格式,则会以iso8859-1方式进行提交接受的jsp却以utf-8的方式接受。导致乱码既然这样的原因,下面有几种解决方式并比较。
A接受参数时进行编码转换
8") ; 这样的话,每一个参数都必须这样进行转码很麻烦。但确实可以拿到汉字
B,在请求页面上开始处执行请求的编码代码, request.setCharacterEncoding("UTF-8")把提交内容的字符集设为UTF-8。这样的话接受此参数的页面就不必在转码了。直接使用 String str = request.getParameter("something");即可得到汉字參数但每页都需要执行这句话。这个方法也就对post提交的有效果对于get提交和上传文件时enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况洅进行说明
现在将常见的乱码问题分为JSP页面显示中文乱码、表单提交乱码两类。
1)JSP页面中显示中文乱码
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。