Java无法通过JDBC-ODBC从Access检索Unicode(立陶宛语)字母 [英] Java cannot retrieve Unicode (Lithuanian) letters from Access via JDBC-ODBC

查看:161
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆