解决方案 »

  1.   

    我用字节流,将assets文件夹下的数据库复制到sdcard上,复制后的数据库,中文查询不出来,中文值为空白
      

  2.   


    private void dbImport()
        {
            try
            {
                File dir = new File(DATABASE_PATH);
                // 如果/sdcard/testdb目录中存在,创建这个目录
                if (!dir.exists())
                    dir.mkdir();
                // 如果在/sdcard/testdb目录中不存在
                // test.db文件,则从asset\db目录中复制这个文件到
                // SD卡的目录(/sdcard/testdb)
                if (!(new File(databaseFilename2)).exists())
                {
    //                File f = (new File(databaseFilename2));
    //                f.delete();
                    // 获得封装testDatabase.db文件的InputStream对象
                    AssetManager asset = getAssets();
                    InputStream is = asset.open("db/database.db");
                    FileOutputStream fos = new FileOutputStream(databaseFilename2);
                    byte[] buffer = new byte[1024];
                    int count = 0;
                    // 开始复制testDatabase.db文件
                    while ((count = is.read(buffer)) > 0)
                    {
                        fos.write(buffer, 0, count);
                    }
                    fos.close();
                    is.close();
                    // asset.close();
                }
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            // deleteDatabase("testDatabase.db");//删除数据库
        }
    这是我原来写的导入db方法。也没用到encoding。日文数据库,没问题。
      

  3.   

    参考:
    http://download.csdn.net/detail/fire_fire_fire/5290315
      

  4.   

    我用字节流,将assets文件夹下的数据库复制到sdcard上,复制后的数据库,中文查询不出来,中文值为空白 
    /
      

  5.   

    这个问题我前两天才帮别人解决的、   你用流导进去后,你看看在ddms底下你的数据库文件有没有进去 。有就成功了,如果成功还没有数据,就是你没有连接上这个数据库,可能是你读的不是这个数据库,而读的是你的dbhelper自己生成的一个没有数据的数据库。
      

  6.   

    虽然你用的是字节流,但实际上是按照gbk进行了编码,而打开的时候默认是utf-8编码,所以中文读不出来或者乱码