<body>
<%
request.setCharacterEncoding("GBK");
%>
....
</body>

解决方案 »

  1.   

    通过网页传递后的数据,如果有中文,必须再进行转码.
    页面中必须加入contentType="text/html; charset=gb2312"
      

  2.   

    先测试出输出的是哪种编码,比如是iso-8859-1
    在输出中文的地方进行重新编码为GBKString s = new String(s.getBytes("iso-8859-1"),"GBK");
      

  3.   

    输出的时候进行转码就可以了。String s = new String(s.getBytes("iso-8859-1"),"GBK");
      

  4.   

    从数据库取数据一般不用转码的啊,你页面其他文字要是乱码的话那么就是页面没有设置正确,如果光是取出来的数据是乱码,那么只能在数据库读取的时候用上 new String(s.getBytes("iso-8859-1"),"GBK")了
      

  5.   

    顶就是楼上的那些仁兄说的哦 我这几天也回复了几个这样的贴你在csdn小类里搜一下看看很多的 怎么这么多这样的问题 要整理一个发个贴了
      

  6.   

    laocai8(★仍在拼搏★) 
    <body>
    <%
    request.setCharacterEncoding("GBK");
    %>
    ....
    </body>用这个一般行
    如果你用了bean接收参数时这句你要写在  用bean接收参数语句之前
    例如:
    <%@ page contentType="text/html;charset=gb2312"%>
    <% request.setCharacterEncoding("GBK");%>
    <jsp:useBean id="mybean" scope="page" class="className">
       <jsp:setProperty name="mybean" property="*"/>
    </jsp:userBean>
    ......................
      

  7.   

    谢谢各位,不过各位的介绍方法好象不是我所想要的,我的情况是这样:
    1、再web.xml配置了filter(GBK)。
    2 再mysql的my文件了设了default(把mysqlid下面的该为GBK)
    3.再jsp里加了contentType="text/html; charset=gb2312"
    4、在连接池里的url也写了characterEncoding=GBK
    但是从数据库里取出的数据是乱码(我使用到数据库操作的bean)
    这到底为什么???
      

  8.   

    再mysql的my文件了设了default(把mysqlid下面的该为GBK)你这一点就可能导致中文在数据库中是乱码,这个我试过,当我用一个前台工具的时候,如果有上面那一句,那么显示的时候就会有乱码,但不加的时候,显示是正常的。一般有中文的时候,从数据库中读出来都要转换一下,而写进去的时候可以不管。
      

  9.   


    Convert.javaimport java.io.UnsupportedEncodingException;public class Convert
    {    public Convert()
        {
        }    public static String convert(String s)
        {
            return s != null ? new String(s.trim().getBytes("iso-8859-1")) : "";
            UnsupportedEncodingException unsupportedencodingexception;
            unsupportedencodingexception;
            return s;
        }
    }
    放在你的包中,用bean 调用它,一切问题就解决了!
      

  10.   

    上面有很多朋友也说了跟你一样的方法,进行转换,但不转换不行吗???我不是在连接的URL里写了characterEncoding=GBK了吗?乱码的根本在什么地方??另外,我写进去的也是乱码
      

  11.   

    不知道你用的是哪个JDBC驱动,如果是Mysql官方驱动连接的URL应该是
    jdbc:mysql://localhost:3306/myTable?useUnicode=true&characterEncoding=GBK
    看看你有没有漏掉useUnicode=true
      

  12.   

    我想可能是Bean的问题
    编译Bean时采用GBK编译方式试试
      

  13.   

    试了drugon(personal) 的没有?
      

  14.   

    补充:
    在jsp里加上这一段
    <%
    request.setCharacterEncoding("GBK");
    %>
      

  15.   

    补充:
    数据库连接
    jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=GBK"
      

  16.   

    从网页取得的中文数据ie传输后会以iso8859的编码送给java
    1,如果数据库的字符集也是iso8859的,则可以把数据直接保存在数据库。这样取出来的时候要设置GBK的编码,不过是在jdbc url设置还是用getBytes("iso-8859-1")转换都可以。
    2,如果数据库的字符集是中文的,则在存入数据库之前要进行8859到gbk转换,从数据库取出时则直接显示就可以了。
      

  17.   

    jdbc:mysql://localhost:3306/bbs?useUnicode=true&amp;characterEncoding=gb2312连接的URL这样写就没问题的啊
      

  18.   

    输出的时候转码为GBK或GB2312,String s = new String(s.getBytes("iso-8859-1"),"GBK");
    肯定好使
      

  19.   

    我也有一中方法转换:
    public String swapString(String aString)
    {
       try{
       String temp_t = aString;
       byte[] temp_b = temp_t.getBytes("ISO8859-1");
       String temp = new String(temp_b);
       return temp;
       }catch(Exception e){}
       return "NULL" ;
       }
    方法带入从JSP的输入,输出为转换后的汉字
      

  20.   

    我遇到的问题更悬啊,mysql4.1+tomacat5+jdk1.5,在页面显示的时候,用gb2312显示正确了,不过由于是接受参数加入数据库,有文件的上传操作,用到smartupload后,加入数据库前一句进行或者不进行专码都是乱码,就要疯了, 我的配置和yifei170的完全一样,郁闷死了,请高人指路
      

  21.   

    to: dabo1980(Java大菜鸟)(不是我不小心写错了啊,而是我觉得你就应该这么叫,呵呵)这个人说得对啊,我就是用这种方法搞定了.谢谢了啊!
      

  22.   

    哦 ,用request.setCharacterEncoding("gbk");也可以啊!!!
      

  23.   

    执行
    mysql>show variables like "%char%";mysql>show variables like "%colla%";能看到你的mysql字符集设置,如果有不是gbk,可以用下面的命令改变它:
    mysql>SET character_set_client = gbk
    mysql>SET character_set_connection = gbk
    mysql>SET character_set_database = gbk
    mysql>SET character_set_results = gbk
    mysql>SET character_set_server = gbkmysql>SET collation_connection = gbk_bin
    mysql>SET collation_database = gbk_bin
    mysql>SET collation_server = gbk_bin另外,对你原来有中文的表执行下面语句:
    ALTER TABLE 表名 CONVERT TO CHARACTER SET gbk;
    检查数据库,看看设置哦