Добрый день, лор. Есть задача преобразовать *.dbf файлы в xml, притом, сделать, попутно, некоторые преобразования над даннми (одни поля разделить, другие переименовать - ну и в таком духе). На данный момент остановился на решении использовать модуль для питона dbf (есть еще dbfpy который работает аналогично). Проблема в том, что строковые поля в дбфках в кодировке cp866 и модуль dbf почему - то не правильно считывает русские символы.
Есть утилита dbf (cli) - дак она умеет бдф преобразовывать в SQL запросы (сначала create table потом много insert into) и если эти инсерты сделать
cat inserts.sql | iconv -f CP866 -t UTF8 > out.sql
Делаю в питоне вот так
import dbf
con = dbf.Table("P.dbf", dbf_type = 'fp', codepage = 'cp866')
con.current()
Out[3]: 045-842-187 680211 22981 ��������� ������ ������������ �1945/01/0108371 00 00236966 1471000 71000000
con.current()[3].decode('cp866')
Out[4]: u'\u2568\u0434\u2568\u0420\u2568\u042d\u2568\u0433\u2568\u0427\u2568\u043f'
В общем, из питона ну никак не получается прочитать русские символы, извращаться со смесью скриптов и питона (как было описано выше) не хотелось бы. Как можено решить подобную пробему нормально ?