【发布时间】:2010-10-01 11:41:05
【问题描述】:
我有一个 jsp,其中包含一个发布到 servlet 的表单,当 servlet 从表单接收参数时,井号 (£) 前面带有以下字符 Â。所以£变成了£。是什么原因造成的,我该如何解决?
【问题讨论】:
标签: java jsp web-applications servlets
我有一个 jsp,其中包含一个发布到 servlet 的表单,当 servlet 从表单接收参数时,井号 (£) 前面带有以下字符 Â。所以£变成了£。是什么原因造成的,我该如何解决?
【问题讨论】:
标签: java jsp web-applications servlets
这听起来很像字符编码问题。包含井号的响应以 UTF-8 字符集发送,但正在以不同的字符集(可能是 ISO-8859-1)进行解释。
检查您为 JSP 指定的字符编码,如果问题仍然存在,请使用嗅探器调查表单发布的响应,特别是它指定的任何字符集。默认情况下,表单应该使用与提供它的页面相同的字符集,因此您应该能够通过检查页面的字符集来控制它。
【讨论】:
您可以做的是,在从请求对象检索之前,在您的 JSP 页面中,为您的请求设置内容类型。[例如request.setCharacterEncoding("utf-8");]
现在你可以做 request.getParameter("yourParamName");
我也遇到了同样的问题并如上所述解决了。
【讨论】: