我最近收购了大量存储在Visual FoxPro 9.0数据库中的数据。我需要的文本是西里尔语(俄语),但是1000个.dbf文件(包含.fpt和.cdx文件),只有4或5个返回可读文本。其余的(通常以备忘录的形式)返回如下内容:
?? 9Y?U& 基?? X ?? ITZ ????? ZV |??????7克̚繠X6〜Uꢴe} ?AL1? S6U |?WL(WZ ??? ??? 8 7 @R? .FAc?TY?H ???#f U ??? K ??? F&?w3A ??hEڅڅX?MiOK?,?AZ& GtT ?? u ?? r:?q ???%,NCGo0? 6 H 4 5d中??] ????? -O {?? ž|?????!?? \ ?? PQݑ,?? ??? OM K * ???磅5 d J +ž? ?G> j = ??? N?H?jѺAs`c?HK \ i ?? 9A * Q 20
对于我的生活,我无法弄清楚这是如何编码的。我尝试了各种在线解码器,在许多数据库程序中打开了.dbfs,并使用Python来打开和操作它们。所有这些都返回了与上面类似的混乱,但从未读过俄语。
注意:我知道这些数据库没有损坏,因为它们伴随着可以成功打开,查询和读取它们的企业软件。但是,该软件不会导出数据,因此我将直接使用.dbfs。
很高兴分享一个例子.dbf如果有助于深入了解这一点。
答案 0 :(得分:2)
我希望如果它是 FoxPro 数据库,那么俄语就像俄语中的大多数东欧语言一样用俄语的一些Unicode编码编码。
答案 1 :(得分:2)
有两种可能性:
编码未正确存储在dbf文件
dbf文件已加密
如果它已加密,我无法帮助你。如果要找到正确的编码,my dbf package可能会有用。如果你遇到困难,请随时给我发一个示例dbf文件。
答案 2 :(得分:2)
'?'人物不会传达太多东西。尝试将备注字段的内容视为十六进制,并查看您所看到的内容是否与任何编码中的文本类似。 (如果你已经尝试过使用Python,请道歉)。当然,如果它实际上是加密的,你可能会失去运气,除非你能找到关键和方法。