呵呵,写错了,应该是“gb2312”,而不是“bg2312”。
楼主太粗心了!:)

解决方案 »

  1.   

    注意转号码String b=........; b=new String(b.getBytes("ISO8859_1"), "GB2312");
      

  2.   

    楼主是用JBuilder么?情在你的工程下建立一个Servlet Filter类,代码如下:import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class CharFilterServlet extends HttpServlet implements Filter {
      private FilterConfig filterConfig;
      //Handle the passed-in FilterConfig
      public void init(FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
      }
      //Process the request/response pair
      public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
        try {
          request.setCharacterEncoding("GBK");//这两句是自己写的,其它都是JBuilder自动生成的
          filterChain.doFilter(request, response);//这两句是自己写的,其它都是JBuilder自动生成的    }
        catch(ServletException sx) {
          filterConfig.getServletContext().log(sx.getMessage());
        }
        catch(IOException iox) {
          filterConfig.getServletContext().log(iox.getMessage());
        }
      }
      //Clean up resources
      public void destroy() {
      }
    }