![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите настроить кодировку ... [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]БДЕ стоит?