逃避特殊字符发布到Servlet

时间:2009-01-14 22:00:43

标签: java jsp web-applications servlets

我有一个包含一个发布到servlet的表单的jsp,当servlet从表单接收参数时,井号(£)前面跟着下面的字符Â。所以£变成了£。造成这种情况的原因是什么?如何绕过它?

2 个答案:

答案 0 :(得分:2)

这听起来很像字符编码问题。包含井号的响应以UTF-8字符集发送,但正在以不同的字符集(可能是ISO-8859-1)进行解释。

检查您为JSP指定的字符编码,如果问题仍然存在,请使用嗅探器调查表单发布的响应,特别是它指定的任何字符集。默认情况下,表单应使用与其提供的页面相同的字符集,因此您应该能够通过检查页面的字符集来控制它。

答案 1 :(得分:1)

您可以做的是,在从请求对象检索之前的JSP页面中,为您的请求设置内容类型。 request.setCharacterEncoding( “UTF-8”);]

现在你可以做request.getParameter(“yourParamName”);

我也面临同样的问题&如上所述解决了。