Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CodePage у DBF файла / 4 сообщений из 4, страница 1 из 1
24.08.2007, 15:30
    #34751271
debet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CodePage у DBF файла
Есть два одинаковых по структуре DBF-файла. Один создан "ручками" то ли в VFP, то ли в DBF-navigator. Другой создан неким приложением. Оба содержат данные в OEM-кодировке. Если открыть эти файлы в DBF-navigator, то у 2-ого конпочка "DOS" на панели инструментов навигатора будет нажата и данные он покажет правильно. А у первого кнопочка "DOS" в навигаторе сама правильно не выставляется и данные он кажет неверно, надо выставить режим "DOS" вручную - тогда данные читаемы.
Вопрос такой. Очевидно, что кодировка прописывается где-то в заголовочной части дэбээфника, как ее поменять у уже созданного файла, заполненного данными?
Кстати, если в Command-окне VFP набрать:
------------------
use <file1.dbf>
?cpdbf()
------------------
то рез-тат: 1251.
...
Рейтинг: 0 / 0
24.08.2007, 15:49
    #34751351
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CodePage у DBF файла
Поиск в форуме по словам КОДИРОВКА, CPZERO, CPCONVERT() поможет
...
Рейтинг: 0 / 0
24.08.2007, 17:18
    #34751656
debet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CodePage у DBF файла
Спасибо, нашел. Но можно и без Cpzero.prg. Редактором в 30-й от начала байт файла заносится десятичное 101 - дос-кодировка, или 201 - виндовская кодировка.
...
Рейтинг: 0 / 0
26.08.2007, 13:47
    #34752972
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CodePage у DBF файла
debetСпасибо, нашел. Но можно и без Cpzero.prg. Редактором в 30-й от начала байт файла заносится десятичное 101 - дос-кодировка, или 201 - виндовская кодировка.

Собственно, именно это и делает программа CPZero.prg. Просто окружает этот процесс дополнительными проверками и сама "знает" какой ASCII-код надо записать при указании соответствующей кодовой страницы.

Если все эти проверки не нужны, то весь код CPZero.prg - это буквально 4 команды: открыть файл, найти позицию нужного байта, записать новое значение, закрыть файл.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CodePage у DBF файла / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]