你的jsp页面的字符集和你的发布平台字符集要一样。

解决方案 »

  1.   

    在页面上加上这一句就可以了。
    <%@ page contentType="text/html;charset=gb2312"%>
      

  2.   

    我加了这句<%@ page contentType="text/html;charset=gb2312"%>但是不行。
    我的类大致是这样写的,
    String str = "姓名,年龄";
    outputStream.write(str.getBytes());
    ;
    使用dos命令符就是好的,在WEB上用jsp掉(javabean)就是乱码。现在的问题是写道文件中的都是乱码
      

  3.   

    outputStream.write(str.getBytes("gb2312"));
      

  4.   

    编码问题的帖子很多的
    你搜一下
    你用这个试试
    String str = new String("姓名,年龄".getBytes("ios8859-1"),"gb2312");
    outputStream.write(str.getBytes());
      

  5.   

    楼主还是看一下javaapi的文档吧,
    调用基于汉字的编码要用
    Reader类来读,用Writer类来写
      

  6.   

    都不行啊,还是乱码!register();  // 初始化环境writer.write("\n\n");
    writer.write(new String("1 测试".getBytes(), "ISO-8859-1"));
    writer.write(new String("2 测试".getBytes("ISO-8859-1")));
    writer.write(new String("3 测试".getBytes("ISO-8859-1"), "ISO-8859-1"));
    writer.write(new String("4 测试".getBytes("ISO-8859-1"), "GB2312"));
    writer.write(new String("5 测试".getBytes("ISO-8859-1"), "GBK"));
    writer.write(new String("6 测试".getBytes()));writer.write("\n\n");
    writer.write(new String("1 测试".getBytes(), "GB2312"));
    writer.write(new String("2 测试".getBytes("GB2312")));
    writer.write(new String("3 测试".getBytes("GB2312"), "GB2312"));
    writer.write(new String("4 测试".getBytes("GB2312"), "ISO-8859-1"));
    writer.write(new String("5 测试".getBytes("GB2312"), "GBK"));
    writer.write(new String("6 测试".getBytes()));writer.write("\n\n");
    writer.write(new String("1 测试".getBytes(), "GBK"));
    writer.write(new String("2 测试".getBytes("GBK")));
    writer.write(new String("3 测试".getBytes("GBK"), "GBK"));
    writer.write(new String("4 测试".getBytes("GBK"), "GB2312"));
    writer.write(new String("5 测试".getBytes("GBK"), "ISO-8859-1"));
    writer.write(new String("6 测试".getBytes()));
      

  7.   

    肯定有问题:因为java用的标准字串,与我们的编码是不同的!当然在输出时出现乱码,因为我们平常用的是gb2312,java用的是un码,问题就在这里。还有汉字作参数也一样出现乱码,这是同一问题。一话解决:在程序中使用UN码,问题全解决
      

  8.   

    如果,不是UN码,请用程序转变成UN码,现输出,或者用命令强制输出UN码。
      

  9.   

    <%@ page language="java" contentType="text/html; charset=gb2312"%> 
    这句话解说,他只是说明这一页用gb2312来显示,如果是网页中直接写中文,当然是显示正确,
    你也可以把后面改成德语,他一样是正确的德文!这与乱码无关!!
    ,但是,用write输出的是UN码,gb2312,里没有UN码!!
    所以同一汉字在UN输出后,再用gb2312来显示,这样可以码?当然不行,乱码!
      

  10.   

    我也正为这个问题烦恼~~请问楼上的,这个问题具体应该怎么解决啊?
    有没有修改某个配置文件从而可以使整个应用都避免出现乱码?我写的TAG和BEAN都存在乱码的问题!
      

  11.   

    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body>
    以下的可能出现乱码:<br>
    <%
    out.println("这里是乱码");
    %></body>
    </html>
    --------------这种可能是乱码,因为汉子用java输出后是国际UN码,页里却要用gb2312显示,
    你说不转换会正常显示不? 肯定不行,(cat4,不行,cat5好象服务帮你自已做了转变)
      

  12.   

    <%@ page contentType="text/html; charset=gb2312"%> 
    在上面的页里加上这句话,却实不会乱码,但这个却不能解决变量是汉字的问题!!!
      

  13.   

    <%@ page contentType="text/plain;charset=UTF-8" import="java.io.*,java.text.*,java.util.*,javax.servlet.jsp.*"%>
    <html>
    <body>
    <%!
    Locale locale;
    DateFormat format;
    JspWriter writer;
    %>
    <%!
    //英语
    void processEnglish()throws Exception
    {
    locale=new Locale("en","US");
    format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    writer.println("in English:");
    writer.println("<br>");
    writer.println("HelloWorld!");
    writer.println(format.format(new Date()));
    writer.flush();
    }
    //中文
    void processChinese()throws Exception
    {
    locale=new Locale("zh","");
    format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    writer.println("in Chinese:");
    writer.println("<br>");
    writer.println("\u4f60\u597d\u4e16\u754c");
    writer.println(format.format(new Date()));
    writer.flush();
    }
    //韩国语
    void processKorean()throws Exception
    {
    locale=new Locale("ko","");
    format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    writer.println("in Korean:");
    writer.println("<br>");
    writer.println("\uc548\ud558\uc138\uc694\uc138\uacc4");
    writer.println(format.format(new Date()));
    writer.flush();
    }
    //俄语
    void processRussian()throws Exception
    {
    locale=new Locale("ru","");
    format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    writer.println("in Russian:");
    writer.println("<br>");
    writer.println("\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439,\u041c\u0438\u0440");
    writer.println(format.format(new Date()));
    writer.flush();
    }
    //西班牙语
    void processSpanish()throws Exception
    {
    locale=new Locale("es","");
    format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    writer.println("in Spanish:");
    writer.println("<br>");
    writer.println("En Espa\u00f1ol:");
    writer.println("\u00a1Hola Mundo!");
    writer.println(format.format(new Date()));
    writer.flush();
    }
    //日语
    void processJapanese()throws Exception
    {
    locale=new Locale("ja","");
    format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    writer.println("in Japanese:");
    writer.println("<br>");
    writer.println("\u4eca\u65e6\u306f\u4e16\u754c");
    writer.println(format.format(new Date()));
    writer.flush();
    }%><%
    //获得请求的语种
     String language=(String)request.getParameter("language");
     int lan=Integer.parseInt(language);
     %>
    <%
    writer=out; switch(lan)
    {
    case 1:processEnglish();break;
    case 2:processChinese();break;
    case 3:processKorean();break;
    case 4:processRussian();break;
    case 5:processSpanish();break;
    case 6:processJapanese();break;
    }
    %>
    </body>
    </html>
      

  14.   

    <%@ page contentType="text/html; charset=Big5"%> 
      

  15.   

    强制转变法:
    InputStream is = mySocket.getInputStream();
    InputStreamReader reader = new InputStreamReader(is, "MS950"); 
    ========用JSP进行转换============
    <%@ page contentType="text/html; charset=gb2312"%> 
    <%@ page import="java.io.*"%>
    <%! String trans(String chi)
    {
                   String result = null;
                   byte temp [];
                   try
                   {
                           temp=chi.getBytes("iso-8859-1");//这里你可以改你要的编码名
                          result = new String(temp);
                    }
                    catch(UnsupportedEncodingException e)
                    {
                            System.out.println (e.toString());
                    }
    return result;
    }
    %>
    <%
    out.println(trans(request.getParameter("name")));
    %>