在我的应用中都是这样转换中文的:
String infor = new String("中文测试");
            infor = new String(infor.getBytes("ISO8859_1"),"UTF-8");
            out.println(infor);你试试看

解决方案 »

  1.   

    response.setContentType("text/html;charset=GB2312"); 
            request.setCharacterEncoding("ISO-8859-1");            
            java.io.PrintWriter out = response.getWriter();  
        out.println("中文");
      

  2.   

    jack9491  不行啊,这样的方式转换后出来的都是问号! ??????????????
      

  3.   

    infor = new String(infor.getBytes("iso-8859-1"),"gbk");
      

  4.   

    不行,同样也是问号! 这个JAVA的环境配置没关系吧?我的是jakarta-tomcat-5.5.2.exe(infor.getBytes("iso-8859-1"),"gbk"); 同样也是问号而直接out.println("这样是可以直接写出中文的");就是声名String infor 函数付值都是乱码这是全部代码,哪位老大帮忙看看!
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class SlTest extends HttpServlet 
    {
        public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
        {
            request.setCharacterEncoding("GB2312"); //设置输入编码格式
            response.setContentType("text/html;charset=GB2312"); 
            PrintWriter out = response.getWriter();//服务器向客户端输出的输出流
            out.println("<html><title>测试Servlet</title><body bgcolor=#ffffff>");
            String head = new String("显示你输入的内容");
            //解决页面乱码问题
            head = new String(head.getBytes("GB2312"),"8859_1");
            //将8859字符转换成2312
            out.println("<h2 align='center'>" + head + "</h><Br><br>");
            String DATA = request.getParameter("DATA");
            if(!DATA.equals("")){
                out.println(DATA);
            }
            else
            {
                String infor = new String("您没有输入内容wwww");
                infor = new String(infor.getBytes("iso-8859-1"),"gbk");
                out.println(infor);
            }
            out.println("<p><a href='http://127.0.0.1:8080'>GO&gt;&gt;</a>");
            out.println("中文测试</body></html>");
            out.close();
        }}
      

  5.   

    response.setContentType("text/html;charset=GB2312"); 
            request.setCharacterEncoding("ISO-8859-1");            
            java.io.PrintWriter out = response.getWriter();  
        out.println("中文");
    这么明白不看 
    做不出来自找的
      

  6.   

    如果按楼主上面所说的那样的话把那个infor = new String(infor.getBytes("GB2312"),"8859_1");
    这句话可以不要。因为你前面已经用request.setCharacterEncoding("GB2312");       response.setContentType("text/html; charset=GB2312");设置了不应该又多设置一次,这样就等于又对中文转换了一次。