PrintWriter out = response.getWriter();
            response.setContentType("text/xml; charset=GB2312");
          // response.setContentType("text/html; charset=gbk");
            response.setHeader("Cache-Control", "no-cache");
            out.println("<response>");
            Iterator iter = matching.iterator();
            while(iter.hasNext()) {
                String name = (String) iter.next();
                System.out.println(name);
                out.println("<name>" + name + "</name>");
            }
            out.println("</response>");只要是转送中文就出现乱码
请个位大侠帮我看看!!

解决方案 »

  1.   

    你现在是返回xml数据吗?
    改成
     String str="<?xml version='1.0' encoding='GBK' ?>"; 
                      str+="<root>";
                      str +="<name>"+od.getName()+"</name><password>"+od.getPassword()+"</password>";
                                       response.getWriter().write(str);
    看看
      

  2.   

                PrintWriter out = response.getWriter();
                response.setContentType("text/xml; charset=GBK");
              // response.setContentType("text/html; charset=gbk");
                response.setHeader("Cache-Control", "no-cache");
                out.println("<response>");
                Iterator iter = matching.iterator();
                while(iter.hasNext()) {
                    String name = (String) iter.next();
                    System.out.println(name);
                    String str=" <?xml version='1.0' encoding='GBK' ?>"; 
                    str +=" <name>"+name+" </name>"; 
                    response.getWriter().write(str); 
                }
                out.println("</response>");
                matching = null;
                service = null;
                out.close();这样改了还是乱码
      

  3.   

    PrintWriter out = response.getWriter(); 
    response.setContentType("text/xml; charset=GB2312");这两句话
    换个顺序写.
      

  4.   

    也可以在tomcat上直接使用字符集处理,在tomcat的conf的下面,server.xml,修改成
    <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="GB2312" />
      

  5.   

    response.setCharacterEncoding("GB2312");
      

  6.   

    PrintWriter out = response.getWriter(); 
                response.setContentType("text/xml; charset=GB2312"); 
    这两行替换下