powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что значит "87" в 30-м байте dbf-ки?
2 сообщений из 2, страница 1 из 1
Что значит "87" в 30-м байте dbf-ки?
    #32328273
Фотография AFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычно по 30-му байту dbf-файла можно
определить кодовую страницу, а у меня
кодировка OEM, а в 30-м байте - буква "W" (код ASCII - 87),
из-за этого запрос ерунду возвращает вместо русских букв.

что мне делать, помогите, пожалуйста, прочитать файл по-русски.
...
Рейтинг: 0 / 0
Что значит "87" в 30-м байте dbf-ки?
    #32328386
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Определить кодовую страницу можно при помощи функции CPDBF() примерно так:

USE MyTable
?CPDBF()

Однако, указанного кода в списке кодовых страниц я что-то не вижу.

Список кодовых страниц, с которыми работает FoxPro можно посмотреть в файле CPZERO.prg поставляемом вместе с FoxPro

MODIFY COMMAND (HOME()+"Tools\CpZero\CpZero.prg")

И найди в нем определние массива cpnums[C_TOTAL,2] . Этот массив содержит 2 столбца: первый столбец - это кодовая страница, второй столбец ASCII-код 29 байта заголовка.

А вообще-то, если указанная кодовая страница поддерживается FoxPro, то при наличии в файле конфигурации строки CODEPAGE=... содержимое таблицы должно автоматически транслироваться в текущую кодовую страницу.

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Code page Platform 		Code page identifier 

 437  	 U.S. MS-DOS 		x01 ( 1 )
 866  	 Russian MS-DOS 		x65 ( 101 )
 1251  	 Russian Windows 		xC9 ( 201 )
 1252  	 Windows ANSI 		x03 ( 3 )
 10000  	 Standard Macintosh 	x04 ( 4 )
 10007  * 	 Russian Macintosh 	x96 ( 150 )

* Not detected when you include CODEPAGE=AUTO in your configuration file.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Что значит "87" в 30-м байте dbf-ки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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