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

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

Кодировка в dbf файле [D6, dBase, FoxPro]


red_imp ©   (2011-01-28 00:17:00) 

Доброго времени суток.
Никак не могу найти решение проблемы вот решил спросить здесь, мож кто пнет в правильном направлении.
Проблема - из 1С выгружается dbf файлик с данными, при просмотре его обычном просмотрщике (типа  dbfview) отображает данные нормально. При подключении через TTable и просмотре через TDBGrid вместо русских символов выдает кракозябры.
Должно быть "АнанасКусДолЖелан580лЖ/Б" выдает "RirirnEonAieCleri580eC/A".
Изменение кодировок в BDE ни к чему не привело.
Тоже самое видно и при просмотре через Database desktop.
Но если зайти в Database desktop и поствить в свойствах таблицы Table lang - ANSI все работает нормально.
Разница между файлами в 1 байте (29 вроде)
В том файле что отображается нормально значение  - 57 в том  что нет 65.
Это явно не проблема в кодировке Win - Dos. так как в моем случае кирилица отображается латиницей.
Если есть способ нормально подключить не используя БДЕ. подскажите
Буду рад за помощь.


red_imp   (2011-01-28 22:29:00) [1]

Спасибо всем.
Буду пробовать использовать драйвера Фокспро. Они вроде работают правильно но не на всех машинах.
Ну и обязательно посмотрю движки


Inovet   (2011-01-28 22:09:00) [2]

> [11] sniknik ©   (28.01.11 14:59)
> используй лучше встраиваемый движок, типа Halcyon

Ещё лучше ADS, хоть это для просто прочитать и многовато.


sniknik   (2011-01-28 14:59:00) [3]

> А пробовал вот так
> 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\base\;Extended Properties=dBASE IV'
это Jet, не фокспро, причем без доп. настройки в реестре по умолчанию он использует внешний BDE если установлен, или внутренний BDE если нет. что не добавляет понятности в настройки кодировок... достаточно ошибиться в одном месте, и не работает, после запустить программу на другой машине... и не работает. ;)

у фокса свои проблемы (фичи/тонкости)... т.что советую, используй лучше встраиваемый движок, типа Halcyon (пользовался, правда давно...), там можно признак кодировки в файле попросту игнорировать.


Anatoly Podgoretsky   (2011-01-28 14:43:00) [4]

Именно так работает Эксель и БДЕ (если не указано другое).
По умолчанию предполагается, что таблица содержит правильные OEM коды, а у него не dBase IV, поскольку "Table lang - ANSI все работает нормально" dBase IV ни Table lang, ни 1251 не поддерживает по определению, это только ФоксПро начиная с версии 2.6 поддерживает, но его не поддерживает БДЕ


MsGuns   (2011-01-28 14:10:00) [5]

OEMToChar ?


Anatoly Podgoretsky   (2011-01-28 13:55:00) [6]

> red_imp  (28.01.2011 13:46:07)  [7]

dBASE IV поддерживает только одну машинную кодировку, и поэтому работа с ней
это разного рода извращения.


red_imp   (2011-01-28 13:46:00) [7]

> sniknik ©
Да в системе вроде как нет стандартного FoxPro

А пробовал вот так
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\base\;Extended Properties=dBASE IV'
При таком обращении проблема с кодировкой не снимается хотя выдает данные и вылезают ошибки с драйверами.

Если возможно напишите верную строку подключения в которой кодировка символов в файле 1251 или (ANSI).
А еще лучше как настроить так чтоб можно было работать через BDE.


Anatoly Podgoretsky   (2011-01-28 13:25:00) [8]

> sniknik  (28.01.2011 12:16:05)  [5]

А что БДЕ не надо ставить?


sniknik   (2011-01-28 12:16:00) [9]

> Используй АДО и OLEDB провайдера для FoxPro
вроде как, сейчас не включается в винду (OLEDB точно, ODBC хз.), нужно ставить.

> Если возможно напишите правильную строку подключения
если нужно напиши как пробовал


red_imp   (2011-01-28 12:08:00) [10]

> clickmaker ©
К сожалению нет.


clickmaker   (2011-01-28 11:45:00) [11]

> Изменение кодировок в BDE ни к чему не привело.

Pdox Ansi Cyr не помогает?


red_imp   (2011-01-28 08:39:00) [12]

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


Anatoly Podgoretsky   (2011-01-28 07:46:00) [13]

> red_imp  (28.01.2011 00:17:00)  [0]

Используй АДО и OLEDB провайдера для FoxPro


Наверх

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