我在用这个方法读出页面输入框繁体中文时是乱码 我的页面是utf-8的编码,大家快看看怎样解决
    public void setSourceFile(HttpServletRequest httpservletrequest)
        throws IOException
    {
        sis = httpservletrequest.getInputStream();
        int i = 0;
        boolean flag = false;
        String s = "";
        while((i = sis.readLine(b, 0, b.length)) != -1)
        {
            String s1 = new String(b, 0, i);
            int j;
            if((j = s1.indexOf("filename=\"")) != -1)
            {
                s1 = s1.substring(j + 10);
                j = s1.indexOf("\"");
                s1 = s1.substring(0, j);
                sourceFile[count] = s1;
                j = s1.lastIndexOf(".");
                suffix[count] = s1.substring(j + 1);
                if(canTransfer(count))
                    transferFile(count);
                count++;
            } else
            if((j = s1.indexOf("Content-Disposition: form-data; name=\"")) != -1)
            {
                String s3 = s1.substring(j + 38, s1.length() - 3);
                sis.readLine(b, 0, b.length);
                StringBuffer stringbuffer = new StringBuffer(b.length);
                boolean flag1 = false;
                while((i = sis.readLine(b, 0, b.length)) != -1)
                {
                    String s2 = new String(b, 0, i - 2);
                    if(flag1)
                        s2 = "\n" + s2;
                    else
                        flag1 = true;
                    if(b[0] == 45 && b[1] == 45 && b[10] == 45 && b[15] == 45 && b[28] == 45 && b[29] != 45 && b[30] != 45)
                        break;
                    stringbuffer.append(s2);
                }
                fields.put(s3, stringbuffer.toString());
                System.out.println(s3+"          =          "+stringbuffer.toString());
            }
            if(!successful)
                break;
        }
    }

解决方案 »

  1.   

    是要做文件上传吗?为什么不用request.getParameter呢?
      

  2.   

    用post方法提交,
    另外,request,response编码设置一致
      

  3.   

    需要上传文件所以用这个方法,
    我用 httpservletrequest.setCharacterEncoding("utf-8");这个可是还是不行
      

  4.   

    页面中加入这两句
    <%@ page contentType="text/html; charset=utf-8" language="java"%>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      

  5.   

    response.setContentType("text/html;charset=BIG5");
            request.setCharacterEncoding("ISO-8859-1");
            PrintWriter out = response.getWriter();
            out.println();试下这个