小弟现在在做java连接mysql的,mysql用的4.0,用 heidisql管理sql数据,jdbc用的是5.05,现在用java存入mysql,数据库里中文显示总是???,写sql语句在conn.prepareStatement("INSERT INTO `offlinemessage` (`ID`) VALUES ('中文')");是可以正常显示
但是如果写成String temp="中文";
temp=new String(contemp.getBytes("ISO-8859-1"),"GB2312");
conn.prepareStatement("INSERT INTO `offlinemessage` (`ID`) VALUES ('"+temp+"')");数据库里就会显示???.
网上找了不少方法都没有效果
比如在my.ini里添加default-character-set=gb2312,但是我的mysql安装文件夹下没有my.ini,在c:\windows下找到my.ini,我在那里修改的 但是没有效果,表重新建立过还是不行求各位大神指导啊,有图教导更好
但是如果写成String temp="中文";
temp=new String(contemp.getBytes("ISO-8859-1"),"GB2312");
conn.prepareStatement("INSERT INTO `offlinemessage` (`ID`) VALUES ('"+temp+"')");数据库里就会显示???.
网上找了不少方法都没有效果
比如在my.ini里添加default-character-set=gb2312,但是我的mysql安装文件夹下没有my.ini,在c:\windows下找到my.ini,我在那里修改的 但是没有效果,表重新建立过还是不行求各位大神指导啊,有图教导更好
set name gbk;
MySQL 中文显示乱码
那边提示错误java.sql.SQLException: Unknown system variable 'NAMES'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1268)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:843)
at com.server.db.DB_Dao.main(DB_Dao.java:223)