当前位置:编程学习 > JAVA >>

Eclipse以UTF8编码保存Java文件读Access数据库出错

我在Eclipse下写了如下文件Test.java

String file = "D:\\Test.mdb";
String table = "联系人";
String sql = "select * from " + table;
String field = "姓名";
String value = null;

String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb);DBQ=" + file;
Connection accessConnection = null;
Statement statement = null;
ResultSet resultSet = null; 
try { 
Class.forName (driver);
accessConnection = DriverManager.getConnection(url);
statement = accessConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(sql);
resultSet.first();
value  = resultSet.getString(field);
} catch (ClassNotFoundException e) { 
e.printStackTrace(); 
throw e;
} catch (SQLException e) { 
e.printStackTrace();
throw e;
}
System.out.println(value);


Test.mdb是一个Access数据库,里面有一个张表“联系人”,它有一个字段“姓名”,表里有一行记录,内容为“张三”。

当Test.java这个文件以GBK格式保存时,Eclipse运行输出“张三”,命令行方式下java Test也能正确输出“张三”。
当Test.java这个文件以UTF8格式保存时,Eclipse运行抛错,提示找不到表“联系?”,命令行方式下java Test却能正确输出“张三”。

请问这是怎么回事?Eclipse的Bug? --------------------编程问答-------------------- 不知道,顶一下,为啥用中文当表名和字段名啊,很危险的。 --------------------编程问答-------------------- 字符编码问题,用能正确运行的吧。别在这类地方折腾,浪费时间。

GBK是2个字节编码,UTF-8是3个字节。
补充:Java ,  Eclipse
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,