Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установука кодировки для таблиц / 11 сообщений из 11, страница 1 из 1
28.08.2008, 10:57
    #35510272
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
добрый день. подскажите, как программе обяснить, чтобы dbf файлы она открывала с помощью кодировки 866, а то она какуюто непонятную выбирает, и у меня кракозябры вместо букв.
...
Рейтинг: 0 / 0
28.08.2008, 11:05
    #35510299
karat4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
Вариан 1. Открыть ексклюзивно данную таблицу и указать нужную кодовую таблицу. Это в том случае, если не указана была ранее таковая.
Вариант 2. В комплекте лисы имеется утилта cpzero.prg. Она поможет.
...
Рейтинг: 0 / 0
28.08.2008, 11:05
    #35510300
Установука кодировки для таблиц
Scorpio_mdдобрый день. подскажите, как программе обяснить, чтобы dbf файлы она открывала с помощью кодировки 866, а то она какуюто непонятную выбирает, и у меня кракозябры вместо букв.
Проставить в эти файлы эту кодировку. CPZERO.PRG в помощь.
...
Рейтинг: 0 / 0
28.08.2008, 11:12
    #35510323
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
файлы находятся в этой кодировке. с ними постоянно работают. Каждую ночь они копирутся на другой диск. Оттуда я уже фоксом их беру и часть данных отправляю в Оракл.

Вот у меня проблема, когда запускаю я прогу в из фоксы, она спрашивает кодировку, я указываю 866, и все проходит нормально. Но как только сделал экзешник., она сама какуюто кодировку подкидывает, и получаются кракозябры.
...
Рейтинг: 0 / 0
28.08.2008, 11:16
    #35510339
Установука кодировки для таблиц
Scorpio_mdкогда запускаю я прогу в из фоксы, она спрашивает кодировку, я указываю 866, и все проходит нормально.
Это говорить о том, что в фоксе файлик открывается эксклюзивно и кодировка в файле НЕ стоИт и CPDIALOG в состоянии ОN.
Но как только сделал экзешник., она сама какуюто кодировку подкидывает, и получаются кракозябры.
А вот тут что-то из указанных условий невыполняется. При этом данный тебе совет остается в силе. Поставь в файлы нужную кодировку и все поправится.
...
Рейтинг: 0 / 0
28.08.2008, 11:21
    #35510352
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
Для оссобо одаренных:

> файлы находятся в этой кодировке. с ними постоянно работают. Каждую
> ночь они копирутся на другой диск. Оттуда я уже фоксом их беру и часть
> данных отправляю в Оракл.
>
> Вот у меня проблема, когда запускаю я прогу в из фоксы, она
> спрашивает кодировку, я указываю 866, и все проходит нормально.

Т.е. ты правишь КОПИЮ!!! Оригинальные файлы остаются без УКАЗАНИЯ в какой
кодовой странице в них данные.


Тебе сказали:
Вариан 1. Открыть ексклюзивно данную таблицу и указать нужную кодовую
таблицу. Это в том случае, если не указана была ранее таковая.
Вариант 2. В комплекте лисы имеется утилта cpzero.prg. Она поможет.


Из exe`шника же ты наверняка открываешь таблицы как shared.


PS Можно поправить кодовую страницу оригинальных файлов, но только старые
проги могут затирать эту инфу.
Советую почитать о структуре dbf файлов? чтобы было понимание где и как
хранится инфа, в том числе, о кодовой странице.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.08.2008, 11:52
    #35510446
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
1. Программа на какой версии FP
2. На сколько я понимаю, dbf от сторонних программ, в таком случае применение CPZERO может привести к плачевным результатам. Например CLIPPER Вас не поймёт.
...
Рейтинг: 0 / 0
28.08.2008, 11:55
    #35510453
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
Извините, не прочёл всё
Попробуй в SELECT явно указывать CPCONVERT(866,1251, cName) для всех полей CHARACTER:
избавишься от копирования и открытия в EXCLUSIVE
...
Рейтинг: 0 / 0
28.08.2008, 12:02
    #35510476
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
Scorpio_mdВот у меня проблема, когда запускаю я прогу в из фоксы, она спрашивает кодировку, я указываю 866, и все проходит нормально. Но как только сделал экзешник., она сама какуюто кодировку подкидывает, и получаются кракозябры.
Не какую-то а 0, т.е. в заголовке DBF никакой кодировки не указана и используется 1251.
Вероятно у тебя где-то в коде есть set cpdialog off потому и не спрашивает.
А. Используй CPZERO как выше сказали
Б. Проверяй кодовую страницу и явно конвертируй если надо. Примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
use mydbf
llConvert = (cpdbf('MyDbf') =  866 )
scan
     if llConvert
        lcField = cpconvert( 866 ,  1251 , MyDbf.Field)
     else
        lcField = MyDbf.Field
     endif
     ? lcField
endscan
...
Рейтинг: 0 / 0
28.08.2008, 12:09
    #35510501
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
Попутал немного тут равно на неравно поменять надо
Код: plaintext
1.
2.
...
llConvert = (cpdbf('MyDbf') !=  866 )
...
...
Рейтинг: 0 / 0
31.08.2008, 10:28
    #35514798
Scorpio_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установука кодировки для таблиц
Спасибо всем. Прописал в таблицах кодировки, и проблема разрешилась.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установука кодировки для таблиц / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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