请教下各位,我用jdbc 读取 access,获取字段NAME1的数据,但是当数据为中文时,返回的数据确为空,有什么方法解决吗?
附上代码:
- Java code
public static void main(String args[]) { String name; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { conn = DriverManager.getConnection( "jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=E:\\hib.mdb"); stmt = conn.createStatement(); rs = stmt.executeQuery("select top 5 * from test1"); while (rs.next()) { name = rs.getString("NAME1"); System.out.println("==="+name+"==="); } conn.close(); } catch (SQLException w) { System.out.println(w.getMessage()); } }
运行结果:======
------解决方案--------------------
不是中文取的是空值,是因为你的编码问题,取出的是乱码。解决乱码问题,不同的数据库有不同的解决办法,access的没试过...........