为什么我从网页接收过来的中文数据是乱码呢?已经用request.setCharacterEncoding("UTF-8")转换过了。
另外,我试着用了一个Filter 来转换,也是不行。

解决方案 »

  1.   

    这要看前面的那个网页送过来的是什么编码。试试:
    form用post方法,页面中一定要写
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    放到<head>和</head>之间。然后Servlet中用request.setCharacterEncoding("UTF-8")
      

  2.   

    String checkStr = new String(checkStr.getBytes("ISO-8859-1"),"utf-8");
    这样转换一下
      

  3.   


    这个方法已经可以让我输出的不是乱码了,但是后面还是有问题,似乎跟数据库里的数据对不上,用中问进数据库搜索的时候返回的是NULL。我用的是My SQL 在从数据库读资料上是不是也要做点什么呢?
      

  4.   


    字符过滤器是什么呢,是不是写一个Filter 转化每个进入servlet的数据。本人是菜鸟,麻烦解释下哈
      

  5.   

    写一个实现Filter 接口的一个方法,不得了,
    public class EncodeFilter implements Filter {
               。
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("UTF-8");
    chain.doFilter(request, response);
    }
      

    }
    像这样的!
    在配置的XML中配置一下过滤的页面就好了吧!!