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

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

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

在表单提交处理中文的时候,我们大多使用 request.setCharacterEncoding("gb2312") 方法,或者使用servlet的filter过滤设置来处理中文表单的提交。需要注意的是,这个方法的使用一定需要在 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规范是一致,实现还是有所区别哦。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航