2013-06-26 69 views
2

我最近獲得了大量存儲在Visual FoxPro 9.0數據庫中的數據。我需要的文本是西里爾語(俄語),但是1000個.dbf文件(包含.fpt和.cdx文件)只有4或5個文本返回可讀文本。其餘部分(通常在備忘錄的形式)返回是這樣的:?無法讀取Visual FoxPro DBF文件中的編碼文本

??ü9Y? yL ?? x ?? itZ?zv?| 7?g????X6?〜u?e} ?aL1? S6U |?WL(WZ ??? ??? 8 7 @R .FAc TYħ???#樓ü??? ???ķ˚F& W3A ??他څԦXMiOK,???????? AZ & GtT ?? u ?? r:?q ???%,NCGo0 ?? H?5d ??] O {?? z | ?? \ ?? pq????? OM ??? K * ???磅→5→d【J + Z!?? ?g> J = ??? N + H?jѺAs`c?HK \我 ?? 9A * q 20 我試過了各種在線解碼器,在許多數據庫程序中打開了.dbfs,並用Python打開並操作它們,所有這些返回類似的混亂如上,但從來沒有可讀俄羅斯

注:我知道,這些數據庫沒有損壞,因爲他們來伴隨着企業軟件可以打開,查詢併成功讀取它們。但是,該軟件不會導出數據,因此我直接使用.dbfs工作。

高興與大家分享一個例子的.dbf如果將有助於得到的這條底線。

回答

2

我期望如果它是FoxPro數據庫,俄羅斯在某些古代的大多數東歐語言中都使用俄語的一些前置Unicode編碼進行編碼。

例如:Windows-1251ISO 8859-5

2

有兩種可能性:

  • 編碼未正確儲存在DBF文件

  • 如果它被加密我DBF文件已被加密

幫不了你。如果是找到正確的編碼,my dbf package可能有用。如果您遇到困難,請隨時向我發送樣本dbf文件。

+0

嗨伊桑,你有沒有檢查一個示例文件?解決這個問題有沒有進一步的動作? –

+0

@JohnMachin:經過3。5年的時間,一些SO人幫了忙,沒有給'user2520638'附上名字......好吧,我不記得是否與這個特定問題有進一步的互動。 –

2

'?'角色不會傳達太多。嘗試以十六進制查看備註字段的內容,並查看您所看到的內容是否與任何編碼中的文本類似。 (如果你已經使用過Python,試試這個)。當然,如果它實際上是加密的,你可能會運氣不好,除非你能找到關鍵和方法。