用getBytes函数转一下码试试

解决方案 »

  1.   

    谢谢wwwzhigang(我很笨) ,能具体的说一下吗?
      

  2.   

    try{
     byte[] bb=sysName.getBytes("ISO8859-1");
     sysName=new String (bb,"GBK");
     }catch(Exception e){
       sytstem.out.println(e);
    }
    就是对码行进行转换。你试试
      

  3.   

    首先你要确定一下你向数据库里存的时候也进行了必要的转码,如果数据库存的本身就是乱码,你取得时候再转也是白搭;如果数据库存的没有问题,那取的时候用out.print("<td>"+new String(rs.getString("name").getBytes("8859_1"))+"</td>");进行转码
      

  4.   

    我有一个建议,以后在写jsp页面的时候最好把方法封装在一个bean中,然后在页面里调用,不然页面代码会很烦琐且难以维护的
      

  5.   

    呵呵,我也有一个建议,方法封装在bean中,servlet调用方法,数据返回到jsp进行显示,不然页面代码会很繁琐且难以维护的。
      

  6.   

    谢谢各位的热情帮助,不过在下愚顿.几个方法试了,还是没有成功,请大家再次帮忙!谢谢.回:ldemin(刀剑尽封)
    根据你的代码,我改成以下的样子,但是还是不能正常显示.
    public String chkgb(String str)
    {
    try
    {
    String temp = str;
    byte[] temp_p = temp.getBytes("ISO8859-1");
    String temp2 = new String(temp_p,"GBK");
    return temp2;
    }
    catch(Exception e)
    {
    return null;
    }
    }
    回: bestdelphier,cutelion
    我把代码改成以下行式,但还是老样子,数据库里不是乱码.
    out.print("<td>"+new String(rs.getString("sex").getBytes("ISO8859_1"))+"</td>");
    谢谢 temptation81, bestdelphier俩位分享你们的经验.恳请大家再次帮忙.谢谢.