一共三个文件,就是连接好了后打开MYSQL看到插入数据中文是乱码,查过资料但是没解出来,请各位帮忙了
javabean文件如下:package jspshujuku;
import java.sql.*;public class databean {
String url="jdbc:odbc:mysqldemo";
    Connection conn;
    public databean()
    {
        try
        {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        conn=DriverManager.getConnection(url,"root","liulei");        }
        catch(Exception ex)
                {
                ex.printStackTrace();
        }
    }
    public Connection getconn()
    {
        return conn;
    }
}创建数据库代码文件如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>
tablecreate
</title>
</head>
<jsp:useBean id="databeanId" scope="session" class="jspshujuku.databean" />
<jsp:setProperty name="databeanId" property="*" />
<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<%
Connection conn=databeanId.getconn();
Statement stmt=conn.createStatement();
String sql="create table tabledemo1("+
"id int primary key auto_increment,"+
"title varchar(100),"+
"content text)"+
"ENGINE=InnoDB DEFAULT CHARSET=gbk;";
try
{
stmt.execute(sql);
out.println("成功穿件表");
}
catch(Exception ex)
{
  out.println("数据表已经穿件");
}%>
</body>
</html>
插入数据库代码如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>
insertdemo
</title>
</head>
<body bgcolor="#ffffff">
<jsp:useBean id="databean" scope="session" class="jspshujuku.databean">
</jsp:useBean>
<h3>插入数据</h3><%
Connection conn=databean.getconn();
Statement stmt=conn.createStatement();
for(int i=1;i<7;i++)
{  String insertstr="insert into tabledemo1(title,content) values('记录"+i+"','内容"+i+"')";
  try
  {
  stmt.execute(insertstr);
out.println("<p>成功插入记录"+i+".</p>");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}  %>
</body>
</html>

解决方案 »

  1.   

    需要把你插入的中文字符格式转换一下;
    如:
    String a = "记录";
    a = new String(a.getBytes("ISO-8859-1"),"gbk");
      

  2.   

    用一个方法将中文字符翻译成中文的编码
    String trans(String s)
    {
    String temp = null;
    byte[] b;
    try{
    temp = s.getBytes("ISO-8859-1");//or other coding
    temp = new String(temp);
    }catch(Exception){
    System.out.println(e.toString());
    }
    return remp;
    }
      

  3.   

    不好意思
    b = s.getBytes("ISO-8859-1");//or other coding
    temp = new String(b);
      

  4.   

    大哥们好象有点懂了,但是能不能告诉我  
    String insertstr="insert into tabledemo1(title,content) values('记录"+i+"','内容"+i+"')";怎么把记录两个字用代码的形式表达呢
      

  5.   

    String a = "更改后的内容";
    out.println(a);
    a = new String(a.getBytes("ISO-8859-1"),"gbk");
    out.println(a);这是输出的答案:更改后的内容         ??????说明我转换后反而变乱码了??迷惑了
      

  6.   

    String a = "更改后的内容";
    out.println(a);
    a = new String(a.getBytes("GBK"),"gbk");
    out.println(a);
    Connection conn=databean.getconn();
    Statement stmt=conn.createStatement();
    String  updatestr="update tabledemo1 set content=a where id=5";大哥们,我怎么把SQL语句写对?我知道是错的!