Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Проблема с кодировкой.  [new]
Натик_77_00
Member

Откуда: Мурманская область
Сообщений: 4
Доброго дня всем! Усть программа, написанная на VFP 5.0. После перенесения на новый компьютер с Windows 7 64 бит, все таблицы открываются при запуске exe нормально, а в одной - крокозябры! Причем, если зайти в поект в VFP, то данная таблица в полном порядке. Исходного кода почти нет, так что не могу сказать точно, какие настройки прописаны.. Если есть мысли - поделитесь... Буду благодарна за помощь, так как не совсем владею Фоксом.. Единственное, что - фокс не установлен на ПК, а просто кинуты библиотеки в папку с программой, а захожу в фокс на внешнем жестком диске.. Как-то так..)))
30 мар 15, 08:43    [17448066]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Dima T
Member

Откуда:
Сообщений: 15271
Была проблема в 5-ке с кодовыми страницами 1251 и 1252, там где фокс стоял - 1251, где не стоял 1252
Как лечилась - не помню. Под VFP6 есть возможность пересобрать? Они полностью совместимы, 6-ка стабильнее, в 5-ке много разных глюков было.
30 мар 15, 09:30    [17448214]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Dima T
Member

Откуда:
Сообщений: 15271
Попробуй в config.fpw добавить строчку
codepage=1251
30 мар 15, 09:37    [17448233]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Dima T
Member

Откуда:
Сообщений: 15271
Тут еще почитай http://forum.foxclub.ru/read.php?32,177189,177216#msg-177216

Для версий до Visual FoxPro 5 включительно, следует также поставлять клиенту файл

FOXPRO.INT
30 мар 15, 09:41    [17448241]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Дед Евгений
Member

Откуда: Московская область
Сообщений: 118
Здесь нужно вернее всего исправить кодовую таблицу в заголовке файла. Можно с помощью поставляемой с VFP программой mycpzero. Но можно и програмно, открыв таблицу низким уровнем и исправив заголовок файла. В этом примере прописывается 866, но можно прописать любую кодовую станичку, это один из примеров.

nOnFileDbf = FOPEN("D:\SampleTabl.dbf",2)
IF nOnFileDbf > 0
= FSEEK(nOnFileDbf,29) && Перемещение к байту 29
= FWRITE(nOnFileDbf,CHR(101)) && Прописываем кодовую 866
= FCLOSE(nOnFileDbf)
ENDIF


Но есть и готовые програмыы и функции:
Возвращает номер кодовой страницы, которым помечена открытая таблица.
CPDBF([nWorkArea | cTableAlias])
30 мар 15, 11:23    [17448801]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Dima T
Member

Откуда:
Сообщений: 15271
Дед Евгений
Здесь нужно вернее всего исправить кодовую таблицу в заголовке файла

Не нужно. Симптомы не те:
Натик_77_00
при запуске exe ... в одной - крокозябры! Причем, если зайти в поект в VFP, то данная таблица в полном порядке.

866 там и там, одинаково криво покажется.
30 мар 15, 11:46    [17449016]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
sg12
Member

Откуда:
Сообщений: 454
С этими кодовыми страницами попросили бы лучше ВладимираМ собрать советы в Wizard в кодах.
В принципе этот визард будет представлять из себя одну форму, с несколькими процедурами.
И выложить его на самом видном месте в фоксклубе, и вопрос будет снят.
А то второй десяток лет и новички мучаются и сами знатоки тоже, все между собой спорят.
30 мар 15, 12:09    [17449202]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Натик_77_00
Member

Откуда: Мурманская область
Сообщений: 4
Спасибо всем огромное! Все заработало!
30 мар 15, 15:42    [17450568]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Натик_77_00
Member

Откуда: Мурманская область
Сообщений: 4
И это было временно... Таблица открылась, другие - упали...
1 апр 15, 11:49    [17458393]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Дед Евгений
Member

Откуда: Московская область
Сообщений: 118
Здесь возможно DOS таблица, но прописано в заголовке кодировка 2151, может и наоборот. Пробуй прописать в заголовок кодировки разные и смотри, как будет читаться текст в этой таблице. Если нормально читается, а не крякозяблы, значит это ее родная кодировка. В этом случае нужно весь текст в полях переписать, но в другой кодировке ( есть команда OEMTOANSI("FieldName") ).
Можешь попробовать в файле config.fpw поставить значение Codepage=AUTO Тогда программа сама будет выбирать как выводить текст в программе, на основании кодовой из заголовка и будет на лету конвертировать.
1 апр 15, 12:53    [17458852]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с кодировкой.  [new]
Натик_77_00
Member

Откуда: Мурманская область
Сообщений: 4
Дед Евгений, Спасибо за помощь!
1 апр 15, 20:02    [17461470]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить