首页 > 解决方案 > Sqlite3 .recover 用?

问题描述

我有一个损坏的 sqlite 文件。如果我尝试打开它,我会收到以下错误:

Error: database disk image is malformed

我试图运行.recover,像这样:

sqlite3 corrupted.db ".recover" | sqlite3 recovered.db

我能够打开recovered.db,几乎所有东西都在那里,但是重音字符被替换为??,例如:

原始文件不是 utf8 编码的可能性不大,但有可能。

如果我运行.dump,并使用插入语句生成一个sql文件,那么我不会遇到这个问题。重音字符正确显示在dump.sql. 但在这种情况下,导出的数据库不到一半,所以我更喜欢.recover.

我错了什么?如转储所示,正确的字符在那里,但由于某种原因,它们在导出过程中丢失了。

标签: sqliteunicodeencodingdata-recovery

解决方案


推荐阅读