表单用post方法提交数据时乱码问题解决办法一1
解决办法二2
解决办法三3
解决办法一
a.jsp页面内容:
name:b.jsp页面内容:现象:中文乱码,比如“??????”解决方法如下:方法一:尝试过,有效但确实不可取1.???????? 在b.jsp中把pageEncoding="GB2312"改为pageEncoding="ISO8859-1"虽然这样b.jsp页面显示的内容还是乱码,但是不是那种“??????”的乱码,而是一些特殊字符2.???????? 然后在浏览器中查看菜单中修改成GB2312的编码,这时乱码就显示中文了。3.???????? 但是这种方法是不可行的。方法二: 尝试过,有效。我的部分页面就是用该方法1.???????? 在b.jsp中把String name=request.getParameter("name");修改为String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");2.???????? 这时再在页面上显示,则就是中文了。3.???????? 但是我个人不喜欢这种方法,因为编写起来代码非常繁琐方法三:1.???????? 有人说修改get/post的传值方式,但是这是有前提的,如果只是把get方式修改成post方式,页面结果还是乱码!2.???????? 前提你必须配置了过滤器,若果你只是配置了过滤器,则传值方式必须是:post方式才不是乱码,如果是get方式照样是乱码!3.???????? 过滤器的配置,我想大家都能有,我就不说了方法四:1.???????? 有人说配置tomcat的配置文件server.xml里这句:加上这句:URIEncoding="GB2312"2.???????? 虽然可以但是有前提的,若果你过滤器没有配置,则只是配置了server.xml文件,这样只有在表单是get传值时候才可以!当是post方式时,照样是乱码!*这时我们就可以看出在tomcat5中的post与get传值方式是不一样的**有人要问有没有一种方法让传值使用get方式或post方式都好用呢,下面就是我推荐的方法五*方法五:1.???????? 其实很简单,就是同时实现方法三又实现方法四!2.???????? 就是先配置过滤器,又配置server.xml文件,都设置成GB2312的编码3.???????? 这样无论是post还是get方式的表单传值,中文都不会是乱码!1、很显然我们使用get或post方法传送数据时,用的是机器上的默认编码,在中文系统中使用的是gb2312,那么我们应该设置request.setCharacterEncoding("UTF-8"),将传送过来的编码转换为UTF-8的编码,则在显示的时候就不会显示为乱码了,因为我的eclipse是使用的UTF-8方式显示的,那么这样就能避免乱码问题。2、而我们在中设置的只是对当前的jsp文件在硬盘中的保存编码。3、在我看来当我们没有指定一个页面的编码时默认为系统默认的编码,在转换为UTF-8时会发生错误。4、get 方法 是使用的ISO-8859_1 编码发送的,通过服务器中的URIEncoding="UT