一共三个文件,就是连接好了后打开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>
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>
如:
String a = "记录";
a = new String(a.getBytes("ISO-8859-1"),"gbk");
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;
}
b = s.getBytes("ISO-8859-1");//or other coding
temp = new String(b);
String insertstr="insert into tabledemo1(title,content) values('记录"+i+"','内容"+i+"')";怎么把记录两个字用代码的形式表达呢
out.println(a);
a = new String(a.getBytes("ISO-8859-1"),"gbk");
out.println(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语句写对?我知道是错的!