Sqlite3 .recover 将重音替换为?

问题描述

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

Error: database disk image is malformed

我尝试运行 .recover,如下所示:

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

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

  • 原文:Pes jí bagetu
  • 已恢复:Pes j?? bagetu

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

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)