首先进行转换定一个
<%
byte a[] = ''
a=rs.getString(1).getBytes("ISO8859_1");
String str = new String(a);
%>
  <td align=center class=bordergr><%=str%></td>

解决方案 »

  1.   

    是 
    byte[] a==""
    但是还是乱码 咋回事。与数据库的驱动有关吗?
      

  2.   

    应该是str=new String(str.getBytes("ISO-8859-1"),"GB2312");%>这样才对,不是下划线.
      

  3.   

    import java.io.* ;
    public class Stringc {
    public static void main(String[] args) {
    try {
      String str = "我的java";
      System.out.println(str);
      str = new String(str.getBytes(),"GB2312");
      System.out.println(str);
    } catch(UnsupportedEncodingException e) {}
      }
    }
      

  4.   

    你的数据库 使用的编码是什么呢? ISO-8859-1 ?
      

  5.   

    若你的数据库采用的是 ISO-8859-1 编码,如果不想费事的话,建议把编码格式
    换为 GB2312。因为 ISO-8859-1 不支持中文编码,也就是说,你存储到数据库中
    汉字就是乱码。另外,ISO-8859-1 和 GB2312 编码不符,固不可以相互转换,
    可以相互转换的字符集 为:GBK-〉 GBK2312 -〉GBK803(?)
    支持中文的: GBK GBK2312 GBK803(?) UTF-8 UTF-16
      

  6.   

    页面中的调用:
    String danwei=request.getParameter("newdw");
    danwei=(new String(danwei.getBytes("iso-8859-1"),"GB2312")).trim();
    String object_id=request.getParameter("object_id");
    loginBeandby.executeUpdate("update unit_category set specification='"+danwei+"' where product_id='"+object_id+"' ");
      

  7.   

    类调用:
    public  String transCharacterSet(String s)
        {
            String s1 = "";
            try
            {
                byte abyte0[] = s.getBytes("ISO8859_1");
                s1 = new String(abyte0, "GBK");
            }
            catch(Exception exception)
            {
                System.out.println("translate failed");
                s1 = s;
            }
            return s1;
        }
          public String getmc()
           {
             return mc;
           }
         public void setdmc(String mc)
          {
          
       this.mc = transCharacterSet(mc);     }