如何解决sqlite数据库的编码问题

时间:2019-04-11 20:43:39

标签: android sqlite

我正在PC和Mac上的android studio上设置SQLite,但是当我在设备文件浏览器中使用txt打开数据库文件时,This is the db file using text open in the android studio就是错误。 然后,我尝试通过将编码更改为GBK来解决此问题。它仍然无法显示数据。另外,我尝试保存db文件并在Google chrome中的SQLite Viewer插件中打开,据说找不到该表。而且我真的确定数据库可以在我的队友计算机上正常工作。

3 个答案:

答案 0 :(得分:0)

您无法将db作为文本文件打开。当您谈论Unicode时,您所谈论的是字符,但是db数据不是某些字符,例如文本文件。它是二进制文件。 db可能包含图像或任何其他二进制数据。

您可以使用SQLite浏览器:https://sqlitebrowser.org

答案 1 :(得分:0)

您还可以使用名为SQLite Studio的免费工具来创建,修改,删除SQLite数据库,表和数据。 https://sqlitestudio.pl/index.rvt

在紧要关头,您还可以从命令行使用SQLite。在Mac上,您可以打开终端窗口来执行此操作。

答案 2 :(得分:0)

Android Studio无法直接打开SQLite文件。该文件根据屏幕截图。似乎是有效的SQLite文件,前16个字符显示为标题字符串:“ SQLite格式3 \ 000” ,如Database File Format中所述。

您需要做的是将文件放置在项目的 assets 文件夹中(您可能需要创建该文件夹)(我建议将文件复制到Android Studio外部)( assets 文件夹中的“ databases” 文件夹(如果使用SQLiteAssetHelper)。

然后,您的App应该将数据库(文件)复制到其位置(通常是目录data / data / your_package / databases,而不是您应该对此进行硬编码,而应使用Context的getDatabasePath方法来获取),如果数据库文件不存在,请作为SQLiteDatabase对象访问数据库。

上面链接的

SQLiteAssetHelper 使此操作相对简单。但是,它似乎无法处理Android Pie。有许多帖子正在重新定义复制现有数据库的级别。 The Answer Here (copes with Android Pie)

评论

  

由于我在Android Studio中的文件是txt类型,因此如何将文件编辑器默认设置为db type

使用文件/设置/编辑器/文件类型。