Eclipse以UTF8编码保存Java文件读Access数据库出错
我在Eclipse下写了如下文件Test.javaString 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