表单的中文处理一次故障处理

表单的中文处理一次故障处理

 

曾经被已经解决过得问题再次烦恼,真是一次不愉快的事情。也许让我更加认识了问题的原因,或者不同情况下的处理。

在表单提交处理中文的时候,我们大多使用 request.setCharacterEncoding("gb2312") 方法,或者使用servletfilter过滤设置来处理中文表单的提交。需要注意的是,这个方法的使用一定需要在 request.getParameter前使用。否则对你所需要的结果会有不同的影响:

Apache Tomcat/ 4.1.27 下面字符集设置无效。字符仍然乱码,没有进行正常的转换。

weblogic 7.0.5 .0下面,一些正常,没有不正常现象。

 

参考jsp

<%@ page language="java" contentType="text/html; charset=gb2312" %>

<html>

  <% 

      String strId = request.getParameter("Id");

      request.setCharacterEncoding("gb2312");

      String strName = request.getParameter("name");      

      System.out.println("strName is : " + strName);

  %> 

  <body>

    This is my JSP page. <br>

    <FORM method="post">

           <INPUT type="text" name="Id" value='<%=strId%>'/>

           <br>

           <INPUT type="text" name="name" value='<%=strName%>'/>

           <br>

           <INPUT type="submit">

    </FORM>

  </body>

</html>

 

不同的环境,总是有时候出现不同的情况,让你不得不劳累身心的去测试环境。再次发布系统的时候,一定要加上环境,可能这个环境最好限定在你所进行安全测试的安全环境。

上面只是一个演示的例子,我所遇到的情况是在request去过一个参数后,然后调用一个共有方法填充对象,在设置中文的时候出了问题。又讨饶了我不少时间。虽然j2ee规范是一致,实现还是有所区别哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值