有可能你的mysql驱动太老
或者用的是测试班
在不然就是驱动与数据库不符

解决方案 »

  1.   

    呵,我用的是JDBC for MySQL 3.0现在最新的驱动程序啊。试过吗?
      

  2.   

    我用的数据库是mysql 4.0.5 beta.
      

  3.   

    用Unicode到GB2312的转换。,也许就是你转换的问题!
      

  4.   

    但我用sqlserver数据库与jsp又不存在这样的问题。
      

  5.   

    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.sql.*" %>
    <%//@ page import="javax.servlet.*" %>
    <%//@ page import="javax.servlet.http.*" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>数据库测试部分</title>
    </head>
    <body>
    <%
    String username;String userpass;String usertitle;String usercontent;
    //——————————————————————————————————————————————
    String user="root";
    String password="root";
    //——————————————————————————————————————————————
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    //Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    //——————————————————————————————————————————————
    String url = "jdbc:mysql://localhost:3306/info";
    //String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
    //——————————————————————————————————————————————
    Connection conn= DriverManager.getConnection(url,user,password);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    //——————————————————————————————————————————————
    String sql="select * from user";
    ResultSet rs=stmt.executeQuery(sql);
    %>
    <table border=1 bordercolor=#ff0000 cellspacing=0 cellpadding=0 width=100%>
    <tr>
    <td align=center>内容一</td>
    <td align=center>内容二</td>
    <td align=center>内容三</td>
    <td align=center>内容四</td>
    <td align=center>内容五</td>
    <td align=center>内容六</td>
    </tr>
    <%
    while (rs.next()) {
    String j1 = rs.getString(1);
    byte j[] = j1.getBytes("ISO-8859-1");
    username = new String(j);
    out.print(username);
    %>
    </tr>
    <td><%=username%></td>
    <td><%=rs.getString(2)%></td>
    <td><%=rs.getString(3)%></td>
    <td><%=rs.getString(4)%></td>
    <td><%=rs.getString(5)%></td>
    <td><%=rs.getString(6)%></td>
    </tr>
    <%}%>
    </table>
    <%
    out.print("数据库操作成功,恭喜你");
    rs.close();stmt.close();conn.close();
    %>
    <table border=1 bordercolor=#0000ff cellspacing=0 cellpadding=0>
    <form action=book.jsp method=post>
    <tr>
    <td>用户名:</td>
    <td><input type=text name=username></td>
    </tr>
    <tr>
    <td>密&nbsp;&nbsp;码:</td>
    <td><input type=text name=userpass></td>
    </tr>
    <tr>
    <td>标&nbsp;&nbsp;题:</td>
    <td><input type=text name=usertitle></td>
    </tr>
    <tr>
    <td>内&nbsp;&nbsp;容:</td>
    <td><input type=text name=usercontent></td>
    </tr>
    <tr><td colspan=2 align=center height=24><input type=submit name=b1 value=提交></td></tr>
    </form>
    </table>
    <%
    if (request.getParameter("b1") != null) {
    out.print("现在要添加数据吗???");String a1 = request.getParameter("username");
    byte a[] = a1.getBytes("ISO-8859-1");
    username = new String(a);
    out.print (username);String b1 = request.getParameter("userpass");
    byte b[] = b1.getBytes("ISO-8859-1");
    userpass = new String(b);
    out.print (userpass);String c1 = request.getParameter("usertitle");
    byte c[] = c1.getBytes("ISO-8859-1");
    usertitle = new String(c);
    out.print (usertitle);String d1 = request.getParameter("usercontent");
    byte d[] = d1.getBytes("ISO-8859-1");
    usercontent = new String(d);
    out.print (usercontent);//conn= DriverManager.getConnection(url,user,password);
    //sql = "select * from user";
    //sql.executeUpdate("INSERT INTO user value"+"("+"'"+username+"','"+userpass+"','"+usertitle+"','"+usercontent+"')");
    }
    else
    {}
    %>
    </body>
    </html>
      

  6.   

    String dbUrl = "jdbc:mysql://localhost/test?seUnicode=true&characterEncoding=GBK";注意:  characterEncoding=GBK   这个很关键!
      

  7.   

    如果你用resin,那么好解决
    连接数据库时用:
    connUrl="jdbc:mysql://localhost/javalover_cxc_cc?user=javalover.cxc.cc&password=zsh001976&"+
    "useUnicode=true&characterEncoding=gb2312";
    在jsp文件头中用gb2312,即<%@ page contentType="text/html;charset=GB2312" %>。
    如果你是用tomcat,可以如下写
    连接数据库时用:
    connUrl="jdbc:mysql://localhost/javalover_cxc_cc?user=javalover.cxc.cc&password=zsh001976&"+
    "useUnicode=true&characterEncoding=ISO8859_1";
    在jsp文件头中用gb2312,即<%@ page contentType="text/html;charset=ISO8859_1" %>。
    如果你用到了bean,编译bean时要用ISO8859_1字符集。