我用MyEclipse连接数据库插入的数据在数据库里显示问号
我用的数据库是MySQL,在eclipse种插入数据在数据库里查就是问号,但是在数据库里插入能显示汉字这个是怎么回事?packagejso.lg.sss;importja...
我用的数据库是MySQL,在eclipse种插入数据在数据库里查就是问号,但是在数据库里插入能显示汉字这个是怎么回事?
package jso.lg.sss;
import java.sql.*;
public class jar {
private final static String DRIVER_CLASS = ("com.mysql.jdbc.Driver");
private final static String DATABASE_URL = ("jdbc:mysql://localhost/bbs");
private final static String DATABASE_USER = "root";
private final static String DATABASE_PASSWORD = "123456";
public static Connection getConnection() {
Connection con = null;
try {
Class.forName(DRIVER_CLASS);
con = DriverManager.getConnection(DATABASE_URL, DATABASE_USER,
DATABASE_PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static void closeAll(Connection con,PreparedStatement pStatement,
ResultSet rs) {
try {
if (con != null && (!con.isClosed())) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (pStatement != null) {
pStatement.close();
pStatement = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (rs != null) {
rs.close();
rs = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Connection con = null;
PreparedStatement pStatement=null;
ResultSet rs=null;
String sql = "insert into mmm value(?,?)";
try {
con = getConnection();
pStatement=con.prepareStatement(sql);
pStatement.setString(1, "国");
pStatement.setString(2, "变成");
int num=pStatement.executeUpdate();
if (num==0) {
System.out.println("插入失败");
} else {
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(con, pStatement, rs);
}
}
} 展开
package jso.lg.sss;
import java.sql.*;
public class jar {
private final static String DRIVER_CLASS = ("com.mysql.jdbc.Driver");
private final static String DATABASE_URL = ("jdbc:mysql://localhost/bbs");
private final static String DATABASE_USER = "root";
private final static String DATABASE_PASSWORD = "123456";
public static Connection getConnection() {
Connection con = null;
try {
Class.forName(DRIVER_CLASS);
con = DriverManager.getConnection(DATABASE_URL, DATABASE_USER,
DATABASE_PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static void closeAll(Connection con,PreparedStatement pStatement,
ResultSet rs) {
try {
if (con != null && (!con.isClosed())) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (pStatement != null) {
pStatement.close();
pStatement = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (rs != null) {
rs.close();
rs = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Connection con = null;
PreparedStatement pStatement=null;
ResultSet rs=null;
String sql = "insert into mmm value(?,?)";
try {
con = getConnection();
pStatement=con.prepareStatement(sql);
pStatement.setString(1, "国");
pStatement.setString(2, "变成");
int num=pStatement.executeUpdate();
if (num==0) {
System.out.println("插入失败");
} else {
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(con, pStatement, rs);
}
}
} 展开
展开全部
你的Java文件的格式和数据库的编码格式要一样
最好全部用UTF-8
或者这样:
new String("国".getBytes(), coding)
coding是你数据库的编码格式
最好全部用UTF-8
或者这样:
new String("国".getBytes(), coding)
coding是你数据库的编码格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库的安装问题,按mysql时有个选项,选字符集的,一定要选gb2312或者gbk,要在数据库里看不了中文
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你的eclipse的字符集改成GBK的就可以了,然后数据库的my.ini配置文件里面的默认字符集也换成gbk的就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我之前也遇到过,mysql的编码好像是latin5 的跟myeclipse 不一样~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询