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

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

Кодировка


Алексей Петухов ©   (2004-07-05 08:04:00) 

Здравствуйте, уважаемые мастера.

Подсажите пожалуйста как изменить кодировку DBase таблицы?
т.е. есть таблица Table1.dbf в кодировке "'ascii' ANSI" необходимо создать аналогичную в win 1251.

Заранее благодарю за помощ.


Anatoly Podgoretsky   (2004-07-05 09:53:00) [1]

Алексей Петухов   (05.07.04 09:48) [8]
Никаких преобразований не требуется, сразу писать как есть
Открыть в Экселе не сможешь, Эксель тоже знает, что никаких win-1251 для dBase не существует и будет пытать преобразовать из 866 в 1251
Если надо взаимодействовать с Экселем, то надо использовать досовские кодировки, то есть язык таблицы 866 и опять же преобразований делать не нужно, это задача движка, например БДЕ, а другой движок использовать для dBase не желательно этот родной и самый функциональный.


Алексей Петухов   (2004-07-05 09:48:00) [2]

т.е. используя язык таблицы 'ascii' ANSI и применяя предварительно CharToOEM можно затем отрыть этот dbf-файл в Excele и увидеть читаемый текст?


Anatoly Podgoretsky   (2004-07-05 09:43:00) [3]

Явно не допонимаешь, кодировка и язык таблицы разные вещи.
В данном случае нужно использовать язык таблицы 'ascii' ANSI, в котором помещать записи в кодировке win-1251.
dBase таблицу win-1251 сделать нельзя, поскольку такое в природе отсутствует, максимум что возможно для dBase таблицы -
это cp-866. Для ФоксПро 2.6+ можно оба типа.


Алексей Петухов   (2004-07-05 09:31:00) [4]

В общем проблема такая:
Необходимо создать DBF файл, среди прочих требований следующее: "Кодировка символов Windows ANSI-1251".
Что-то я недопонимаю, наверное...


Anatoly Podgoretsky   (2004-07-05 09:07:00) [5]

И еще одна возможность это перейти на dBase VII, там вместо кодировки (язык таблицы) действует понятие локализация, на уровне шрифта, но вероятность, что там будет работать Lower/Upper тоже весьма низкая, поскольку это тоже разновидность 'ascii' ANSI


Anatoly Podgoretsky   (2004-07-05 09:05:00) [6]

Никак не возможно, стандарт не поддержиивает, win-1251 поддержан только в ФоксПро, начиная с версии 2.6, но зато не поддержан на уровне БДЕ
Единственная возможность это использовать 'ascii' ANSI, непонятно чем оно тебе не нравится, единственная проблема с ним это преобразование Lower/Upper, но никакого ограничения на кодировку данных.


Ozone   (2004-07-05 08:56:00) [7]

BDE юзаешь?


Алексей Петухов   (2004-07-05 08:52:00) [8]

Может быть возможно как-то принудительно Петекодировать в Windows ANSI-1251 и сохранить в таком виде в DBase?


Anatoly Podgoretsky   (2004-07-05 08:38:00) [9]

DBase не поддерживает язык таблицы win 1251.


Наверх

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