如何在servlet

时间:2015-07-16 08:07:18

标签: java forms jsp servlets utf-8

在我的servlet中,我保存到一个String变量,这是一个在JSP页面中形成一个表单(带有POST)的值。这个值有时不是英文..

s1 = request.getParameter("Country");

然后测试,我刚读到的内容我将其打印到日志屏幕,当它不是英文时我得到了$%^&。我试着添加

<%@page contentType="text/html" pageEncoding="UTF-8" language="java" %>

在我的jsp页面中,我还检查了server.xml

中是否有这个
URIEncoding="utf-8"

但它没有改变任何事情......我该怎么办?
编辑
我在我的servlet中添加了以下内容

if (request.getCharacterEncoding() == null) {
            request.setCharacterEncoding("UTF-8");
        }

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

但我仍有问题

1 个答案:

答案 0 :(得分:0)

如果您正在使用tomcat,您可以尝试使用他们的utf8编码过滤器(当然,将其添加到您的web.xml)。他们的过滤器名为org.apache.catalina.filters.SetCharacterEncodingFilter,或者如果您不想依赖第三方,那么您可以查看他们的源代码并编写自己的源代码,这不是很复杂。

另见 http://wiki.apache.org/tomcat/FAQ/CharacterEncoding