Timothy_Hu 2015-09-30 01:43 采纳率: 0%
浏览 1793

如何在Java 中使用 sqlite 把 gbk 数据用 utf16le 格式存入数据库

网上看到使用 pragma encoding=utf16le; 命令,但是不知道具体在 java 中如何使用,试了如下的代码,也没有成功 :(,只能在这里跪求高手指点了。

 public class SqliteTest {
    public static void main(String[] args) {  
        // 加载驱动  
        deleteFile("c:/test.db");
        try {  
            Class.forName("org.sqlite.JDBC");  
        } catch (ClassNotFoundException e) {  
            // TODO Auto-generated catch block  
            // e.printStackTrace();  
            System.out.println("数据库驱动未找到!");  
        }  
        // 得到连接 会在你所填写的目录建一个你命名的文件数据库  
        Connection conn;  
        try {  
            conn = DriverManager.getConnection("jdbc:sqlite:c:/test.db",null,null);  
            // 设置自动提交为false  
            conn.setAutoCommit(false);  
            Statement stmt = conn.createStatement(); 

            stmt.executeUpdate("PRAGMA encoding = \"UTF-16le\";");

            //判断表是否存在  
            ResultSet rsTables = conn.getMetaData().getTables(null, null, "city", null);  

                        stmt.executeUpdate("PRAGMA encoding = \"UTF-16le\";");

            if(rsTables.next()){  
                System.out.println("表存在,创建表的事情不要做了");  
            } else {  
                stmt.executeUpdate("create table city (id,name);");  
            }  

            stmt.executeUpdate("insert into city values (1,'上海');");  
            stmt.executeUpdate("insert into city values (2,'北京');");  
            stmt.executeUpdate("insert into city values (3,'广州');");  
            // 提交  
            conn.commit();  
            // 得到结果集  
            ResultSet rs = stmt.executeQuery("select * from city;");  
            while (rs.next()) {  
                System.out.println("id = " + rs.getString("id"));  
                System.out.println("name = " + rs.getString("name"));  
            }  
            rs.close();  
            conn.close();  
        } catch (SQLException e) {  
             e.printStackTrace();  
            System.out.println("SQL异常!");  
        }  
    }
    }
  • 写回答

1条回答 默认 最新

  • Jhoneson 2015-10-04 06:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器