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

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

Помогите настроить кодировку ... [D7, dBase, FoxPro]


ZSergey ©   (2005-09-16 10:14:00) 

Привет знатокам!
Помогите новичку разобраться в таком вопросе:
С помошью конвертора ora2dbf сделал выборку из базы Оракла по запросу и записал результат в DBF. Какой формат dBase или База FoxPro я низнаю, в связи с чем возникли трудности при определении драйвера и кодировки в Delphi7. Коннект к табличке делаю через ADO (AdoConnection), через провайдера "Microsoft Ole DB Provider for ODBC drivers", далее File Data Sourse выбираю dBase files, в Machine Data Sourse выбираю соответствующий источник -"файлы dBase". В результате вся кирилица в гриде заменена на ?. Пробовал выбирать FoxPro files,но он не понимает некоторые русские буквы, например Р и Ю. Как мне определить в какой формат базы данных выгрузила эта утилитка. Как мне поменять кадировку для DBF, чтобы кирилица корректно отображалась в гриде?
Заранее спасибо.


Anatoly Podgoretsky   (2005-09-16 16:16:00) [1]

ZSergey   (16.09.05 13:50) [9]
Русифицировать это кодовая страница 866, другого dBase не поддерживает, а dBase IV вообще не поддерживает такого понятия, только за счет ошибок драйверов проходит это. Другое дело ФоксПро 2.6+ этот поддерживает и 866 и 1251. Я же не зря спрашивал, что такое dbf


ZSergey   (2005-09-16 15:00:00) [2]

> SeZuka
Попроьовал, проблема та же, не понимает некоторые буквы.


SeZuka   (2005-09-16 14:06:00) [3]

Попробуй с другими драйверами, я использовал Microsoft dBase VFP Driver


ZSergey   (2005-09-16 13:50:00) [4]

to -=S..S=-
нет, мне нужно руссифицировать таблицу *.DBF


-=S..S=-   (2005-09-16 13:43:00) [5]

Тебе сам Оракл руссифицировать надо ?
Если да то смотри в реестре ... там что то c Lang связано


Anatoly Podgoretsky   (2005-09-16 13:34:00) [6]

ZSergey   (16.09.05 12:55) [5]
Это свойство Connection


Anatoly Podgoretsky   (2005-09-16 13:32:00) [7]

ZSergey   (16.09.05 10:24) [2]
Значит надо настроить языковый драйвер.
И также возможно настройки JET  в реестере, подробности в справке по Jet

ZSergey   (16.09.05 12:55) [5]
dBase не поддерживает 1251


ZSergey   (2005-09-16 12:55:00) [8]

to SeZuka
Нет, к сожалению не помогло :(

нужно поменять кодировку на win1251, ведь проблема то только в отображении. Странно, что не такого свойства у компонента AdoTable


SeZuka   (2005-09-16 10:56:00) [9]

Я как-то мучился с переносом на MSSQL dbf-ной базы из нескольких тысяч файлов и для их "руссификиции" сделал такую процедурку:

function SetRus(FS: string): boolean;
const
 RUS: byte = $65;
begin
 Result := false;
 try
   with TFileStream.Create(FS, fmOpenWrite) do begin
     try
       Position := 29;
       Write(RUS, 1);
     finally
       Free;
     end;
   end;
   Result := true;
 except
   on E: Exception do Application.MessageBox(pchar(E.Message), pchar('Ошибка'), MB_ICONERROR);
 end;
end;

Попробуй, должно помочь.


ZSergey   (2005-09-16 10:48:00) [10]

Неужели никто не знает, как можно изменить кодировку?? Я облазил все компоненты (AdoConnection, AdoTable, Datasourse), но нигде не нашел такого свойства, чтоб поменять кодировку. Ведь дело в этом, если я не ошибаюсь?


ZSergey   (2005-09-16 10:24:00) [11]

Да, БДЕ стоит. Но в перспективе программу будем ставить на машины, где БДЕ нет :))


Anatoly Podgoretsky   (2005-09-16 10:19:00) [12]

БДЕ стоит?


Наверх

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