Sql 从数据库更新表后,表中存在未知语言

Sql 从数据库更新表后,表中存在未知语言,sql,netbeans,character-encoding,Sql,Netbeans,Character Encoding,我的数据库包含俄语和拉脱维亚语,当我试图用sql填充我的表时,我得到了????在某些领域,我可以理解程序不理解这些语言,所以我的问题是如何修复它?数据库来自Microsoft Excel Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String filename = NamePath.getAbsolutePath(); String databas

我的数据库包含俄语和拉脱维亚语,当我试图用sql填充我的表时,我得到了????在某些领域,我可以理解程序不理解这些语言,所以我的问题是如何修复它?数据库来自Microsoft Excel

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
                        String filename = NamePath.getAbsolutePath();
                        String database = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=";
                        database+= filename.trim() + ";DriverID=22;READONLY=true}"; 
                        Connection con = DriverManager.getConnection( database ,"","");

                        Statement s = con.createStatement();    
                        String sql ="SELECT [Course full name],Course,Action,Time FROM [Sheet1$] order by [Course full name]";//
                        s.executeQuery (sql);
                        ResultSet rs = s.executeQuery( sql );                          
                        jTable1.setModel(DbUtils.resultSetToTableModel(rs));      

发现这不重要,现在我可以看到,当程序“清理并构建”完成时,您运行它,它了解所有内容,因此在构建模式下它不了解任何内容。

您能否编辑您的问题以准确说明您使用的数据库,提供表的DDL此外,对于(比如)Postgresql,我们需要知道客户端编码和服务器编码的设置。这通常是一个可以解决的问题,但由于Unicode比许多数据库引擎的核心更新,它可能有点难看。@Andrew Lazarus我不知道你说了什么,我在编程方面没有那么聪明。请你解释一下,以便我能理解。当然,对不起。基本上,大多数数据库的历史核心是ASCII,因为在1980-1990年代,没有足够多的人(在西方)考虑支持西里尔字母、中文、日语等。如果您使用MS Windows,您可能已经从令人讨厌的Windows代码页中了解到了这一点。因此,要获取Postgres,您必须告诉服务器是否将数据解释为ASCII、Unicode和许多其他选择,当您检索数据时,Java或其他任何东西也可以选择如何思考数据。无论你使用的数据库是什么,似乎都有类似的问题。啊!这是一些Netbeans控制台的问题!我会用谷歌搜索的!您的数据库已正确配置为Unicode。