Форум сайта python.su
Добрый день.
Имеется dbf в формате dbase III, мне необходимо его импортировать в БД. Но вместо кириллицы - кракозябры вида:
€«¬ ae ’ZZ “–?a i?a??¤?a®? ?i ??c a?”
’?€?‘-?S‘??…‘‘ S€‡€•‘’€?
’ZZ “??®®¬aa a?®a «a??”
Насколько я знаю, в dbase 4 есть 29-й байт, в котором можно явно указать кодировку, с такими файлами проблем нет.
Кусок кода на питоне, который я использую для выборки из файла dbf:
import pythoncom import math dsOut.clear() from ADOQuery import Query q = Query() q.DatabaseName = 'SUB-IMPCAT' q.sql = 'select * from KAT_SORT' try: q.Open() except pythoncom.com_error, e: print e[2][2] q.First() if q.EOF and q.BOF: return
Офлайн
Попробуйте так:
# -*- coding: cp1251 -*- import pythoncom import math dsOut.clear() from ADOQuery import Query q = Query() q.DatabaseName = 'SUB-IMPCAT' q.sql = 'select * from KAT_SORT' try: q.Open() except pythoncom.com_error, e: print e[2][2] q.First() if q.EOF and q.BOF: return
# -*- coding: utf-8 -*-
Отредактировано alexbadaloff (Май 23, 2013 15:10:04)
Офлайн
alexbadaloff
Офлайн
Пользуйте лучше ydbf для импорта.
Офлайн
Проблема разрешилась отказом от использования memo-полей. Всем спасибо за участие!
Пользуйте лучше ydbf для импорта.
Офлайн
Офлайн