Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / абракадабра в символьных полях / 4 сообщений из 4, страница 1 из 1
10.12.2004, 11:37
    #32822636
scoric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
абракадабра в символьных полях
Здравствуйте! Я устанавливала с дистрибутива, созданного в VFP5, свою программу.Я использую символьные поля Char(binary),в моей программе проблем с этими полями нет при любой ОС.Другой программист ставит свою программу, у него просто Char-в его программе -абракадабра.Он обвиняет меня, мою программу. Что можно сделать в нашей ситуации? Как от этого избавится? В смысле - от абракадабры.
...
Рейтинг: 0 / 0
10.12.2004, 13:02
    #32823018
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
абракадабра в символьных полях
Вкратце:

1) Нужен файл FOXPRO.INT (не путать с ini расширение от слова international)
2) Нужен файл CONFIG.FPW со строкой

CODEPAGE = 1251

3) Нужно убедится, что все таблицы, файлы форм и классов созданы в кодовой странице 1251

Подробнее читай здесь

http://www.foxclub.ru/sol/index.php?act=view&id=269

PS: использование Char(binary) для текстовой информации, которую должен читать пользователь - это очень порочная практика. Поля со свойством binary всегда читаются в текущей кодовой странице среды FoxPro.
...
Рейтинг: 0 / 0
10.12.2004, 13:55
    #32823194
scoric
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
абракадабра в символьных полях
Дело в том, что у меня кодовая страница нигде не прописана, а у него- нужно 866, чтобы потом в пенсионный в формате 866 передавать данные(ну очень большие таблицы) и если в регистре что-то менять -это проблематично_ программа работает в районных организациях, разбросанных по области и не у всех есть возможность это сделать.
...
Рейтинг: 0 / 0
10.12.2004, 14:55
    #32823393
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
абракадабра в символьных полях
Есть 2 проблемы:

-) Текущая кодовая страница
-) Формат файлов DBF

В DOS-программах файлы не просто в 866 кодовой странице, они еще и в формате, скорее всего, DBASE III.

Т.е. вообще-то VFP может работать с такими таблицами, но это означает серьезно сузить возможности по модификации таких таблиц. Поэтому обычно работают все-таки в родном формате VFP, а затем делают экспорт данных в нужный формат.


Далее, FoxPro поддерживает автоматическую трансляцию кодовых страниц. Одним из условий такой трансляции является наличие признака кодовой страницы в заголовке DBF-таблицы. Если такого признака нет, то FoxPro предполагает, что все данные в такой таблице записаны в текущей кодовой странице FoxPro. То же самое правило распространяется и на поля с признаком Binary (предполагается, что они записаны в текущей кодовой странице FoxPro вне зависимости от признака в заголовке таблицы)

Если отсутствует файл CONFIG.FPW со строкой CODEPAGE=... или стоит CODEPAGE=AUTO, то VFP5 предполагает, что текущей кодовой страницей является кодовая страница Windows !!!

Таким образом, если ты не указываешь признак кодовой страницы в заголовке DBF-таблицы или используешь Char(binary), то сильно рискуешь получить нечитаемый текст, например, на англоязычном Windows. У него кодовая страница 1252 (Win eng). Да даже и в русскоязычном Windows, если заполнял таблицу данными в 866 кодовой странице.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / абракадабра в символьных полях / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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