Java无法通过JDBC-ODBC从Access检索Unicode(立陶宛语)字母 [英] Java cannot retrieve Unicode (Lithuanian) letters from Access via JDBC-ODBC
本文介绍了Java无法通过JDBC-ODBC从Access检索Unicode(立陶宛语)字母的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个DB,其中一些名字用立陶宛语字母写,但是当我尝试使用java时,它忽略立陶宛语字母
i have DB where some names are written with Lithuanian letters, but when I try to get them using java it ignores Lithuanian letters
DbConnection();
zadanie=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
sql="SELECT * FROM Clients;";
dane=zadanie.executeQuery(sql);
String kas="Imonė";
while(dane.next())
{
String var=dane.getString("Pavadinimas");
if (var!= null) {var =var.trim();}
String rus =dane.getString("Rusys");
System.out.println(kas+" "+rus);
}
void DbConnection() throws SQLException
{
String baza="jdbc:odbc:DatabaseDC";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){System.out.println("Connection error");}
connect=DriverManager.getConnection(baza);
}
$ b额外的字母解码或类似这样的东西。
in DB type of field is TEXT, size 20, don't use any additional letter decoding or something like this.
它给我ImonėImone,尽管在DB中写的Imonė等于rus。
it gives me " Imonė Imone " despite that in DB is written "Imonė" which equals rus.
推荐答案
在使用JDBC-ODBC桥接时,您可以在连接详细信息中指定一个字符集。
As you're using the JDBC-ODBC bridge, you can specify a charset in the connection details.
p>
Try this:
Properties prop = new java.util.Properties();
prop.put("charSet", "UTF-8");
String baza="jdbc:odbc:DatabaseDC";
connect=DriverManager.getConnection(baza, prop);
这篇关于Java无法通过JDBC-ODBC从Access检索Unicode(立陶宛语)字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文