Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кодировка [D6, dBase, FoxPro]


Igor Kashtanov ©   (2003-02-24 01:49:00) 

Помогите !!
Есть база, написана на FoxPro. При перетягивании dbf-файлов в Delphi русский текст выводится полной бредятиной. КАК ЭТИ ФАЙЛЫ ПРЕОБРАЗОВАТЬ В НОРМАЛЬНЫЙ ВИД!!!!!!!??????????
Заранее благодарен.


Anatoly Podgoretsky   (2003-02-25 07:49:00) [1]

Igor Kashtanov (24.02.03 22:23)
dBase 866
Foxpro 866 и 1251


sniknik   (2003-02-25 07:35:00) [2]

см. Anatoly Podgoretsky © (24.02.03 11:39)

для Fox может быть несоответстие кодировки с "общепринятым", а буковка в заголовке похоже просто игнорируется, если не открывать в самом фоксе конечно (делает конвертацию только для визуальных компонент).
в смысле - открыть через ODBC Visual Foxpro Driver (ADO) ему будет пофигу какая буковка в заголовке, в основном правильно открывает (опять в какой кодировке туда писали, может была программная конвертация).


AnnaCi   (2003-02-25 06:12:00) [3]

Надо только в заголовке поставить нужные символы. Работает с файлами dBaseIV и FoxPro

function doRu(fn: string): boolean;
var
F: file of char;
a: char;
begin
result := true;
AssignFile(F, fn + ".dbf");
try
Reset(F);
except result := false;
exit;
end;
Seek(F, 28);
a := chr(0);
Write(F, a);
a := chr($26);
Write(F, a);
Close(F);
end;


Igor Kashtanov   (2003-02-24 22:26:00) [4]

Все равно всем спасибо!!
Если есть еще идеи, то приму с БАААЛЛЬШУШЕЙ БЛАГОДАРНОСТЬЮ!!!


Igor Kashtanov   (2003-02-24 22:23:00) [5]

To Anatoly Podgoretsky:
А какие еще кодировки могут быть? И как их добавить (Прошу прощения за тупой вопрос)


Igor Kashtanov   (2003-02-24 22:21:00) [6]

To Соловьев:
---настроить BDE:
у dBase и FoxPro : dBase RUS cp866----
Tоже не помогло :((


Igor Kashtanov   (2003-02-24 22:18:00) [7]

To BorisUK:
---Насторой DBGrid на нужную кодировку... ---
Пробовал, результат отрицательный. Все по-старому


Иванов Сергей   (2003-02-24 21:13:00) [8]

После исправления файлы в виндовсе открываются корректно. Буковки русские. Тоесть драйвер, где-то там в нутри, начинает перекодировать правильно. Что и требуется.
Если, конечно проблема изначално в этом.


Anatoly Podgoretsky   (2003-02-24 21:04:00) [9]

Иванов Сергей (24.02.03 20:53)
Это не приводит к конвертированию, просто исправление неверного заголовка.


Иванов Сергей   (2003-02-24 21:03:00) [10]

Сорри, выковыривалка рекламы удружила. Отправлять отправляла, а вместо ответа открывала свою страничку с рекламой. Ну я и тыкал отправить несколько раз.


Иванов Сергей   (2003-02-24 20:53:00) [11]

у dbf файла в заголовке есть признак языка-раскладки кодовой таблицы.
далее клиппер:

*
* Устанавливает признак языка. "&" по смещению 29.
*
procedure Main(FileName)

qout("Корректор признака региона в DBF файлах.(с)Иванов Сергей Васильевич.24-01-2002.")

if .not. empty(FileName)
if file(FileName)
if filestr(FileName,1,0) = chr(03)
qout("Обработка файла ["+FileName+"]")
if STRFILE("&", FileName, .T., 29, .F.) = 1
qout("Ok. Признак успешно установлен.")
else
qout("ОШИБКА! записать признак не удалось!")
endif
else
qout("ОШИБКА! Указанный файл не таблица DBF.")
endif
else
qout("ОШИБКА! Файл не найден!")
endif
else
qout("ОШИБКА! Файл не указан!")
endif

return


работает.


ооо   (2003-02-24 11:51:00) [12]

А можно конвертировать через Access в формат DBASE4, например,
тогда и FoxPro увидит, и BDE без всяких дополнительных настроек


Anatoly Podgoretsky   (2003-02-24 11:39:00) [13]

У фокпро может быть и другая русская кодировка


Соловьев   (2003-02-24 09:29:00) [14]

настроить BDE:
у dBase и FoxPro : dBase RUS cp866


BorisUK   (2003-02-24 07:27:00) [15]

Насторой DBGrid на нужную кодировку...
Установи свойство TableType в ttFoxPro

Если надо не просто отобразить нормально, а ВАЩЕ переконвертить в другую кодировку, то пиши свой обработчик...
Или ищи готовые - коих в инете немало.


Наверх

Титульная страница Поиск, карта сайта Написать письмо