#0
by Rounder
Форум читал. Решения не нашел. Собственно проблема в том, что если в заголовке DBF-ки 29-й байт не установлен в 65(HEX), а в файле есть строковые значения с русскими буквами - получаю "кракозяблы". Установить это байт в нужное значения - не имею права (файл сетевой и не я его "хозяин"). Ради примера взял два одинаковых файла по содержимому, отличие в лишь в том, что в одном файле 29-й байт установлен в нужное значение, а в другом - нет. Соединяюсь так: Соединение = Новый COMОбъект("ADODB.Connection"); Соединение.Open("Provider=VFPOLEDB.1;Data Source=" + ПутьСпр + ";Collating Sequence=MACHINE;EXCLUSIVE=NO"); Как и "положено", в одном случае получаю кириллический символы, в другом "кракозяблы". При этом сравнил все свойства Соединение, для обоих файлов они абсолютно идентичны (ну кроме ID сесси - это понятно). Т.о. получаем, что значение этого байта в свойствах не отображается и я не могу на него повлиять устанавливая параметры подключения (но изначально пробовал и Collating Sequence=RUSSIAN и CODEPAGE=866 - не помогло). Как же заставить провайдера читать данные в нужной мне кодировке?
#1
by sttt
чем не устраивает? ------------------ XBase (XBase) Кодировка (Encoding) Использование: Чтение и запись. Описание: Тип: КодировкаXBase. Определяет режим кодировки базы. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение.
#3
by oleg_km
Ничего не поможет. Фокспро ориентируется только по этой метке. Я когда писал на фокспре, открывал ДБФ своей функцией, которая сначала проверяла, установлен ли байт, если нет устанавливала, потом открывала
#5
by Rounder
CPDBF возвращает 0. Конф. файл я так понимаю должен лежать рядом с DBF - я не имею права там что-либо создавать или менять.
#8
by Rounder
Прочел. Не взлетит. До открытия темы игрался с этими параметрами. Да и при открытии по умолчанию в свойствах соединения указана CODEPAGE=1251.
#11
by Rounder
Возможно с не полно написал. Задача стоит читать из и писать в dbf, лежащую на сети, в режиме совместного доступа.
#12
by Rounder
спасибо за участие. Пора уже уходить. Завтра вернусь к этой теме - если завтра тоже заглянешь - буду благодарен.
#14
by Rounder
Когда в рабочем окне VFP делаю USE, то т.к. в заголовке файла не указана кодовая таблица, то мне выдается окно для выбора, я отказываюсь от выбора - и получаю соотв. CPDBF 0. Если выберу кодировку - то заголовок перезапишется. А при работе по сети и программно я это сделать не могу.
#15
by Rounder
Я смотрел все свойства после соединения - даже когда принудительно ставлю кодовою страницу в строке соединения в свойствах она отображается как я и выставляю. Но из файла тянет кракозяблы вместо русских букв.
#16
by МимохожийОднако
Если в копии файла определить кодовую страницу, то потом этот режим вызывать в VFP. Т.е. использовать XBase только для определение страницы и чтения.
#17
by МимохожийОднако
Возможно, мешают системные региональные настройки. С другого компьютера пробовал?
#26
by Rounder
Для меня это слишком радикальное решение. И в общем-то невыполнимое. Поэтому пока пробую иные способы - вплоть до перекодировки самих данных на лету.
#28
by Rounder
Ну не на лету - а перед записью строковые данные буду перегонять в нужную кодировку и уж после писать в файл.
#29
by Кирпич
а вторая программа тоже через VFPOLEDB работает чтоли? если нет, то никакого совместного доступа не будет, будет только бардак. а уж если есть индексы, то вообще кашмар.
#30
by mistеr
Можно поискать ВК, которая бы плевала на 29-й байт и работала с явно указанной кодировкой. Для Дельфей, помню, были такие.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как заставить 1С "зависнуть" на 5 секунд??
- kladr.dbf, street.dbf, socrbase.dbf
- Можно ли заставить документ мигрировать по условию?
- УПП : Как заставить считать ФСС от НС с зарплаты
- DBF: Проблема с dbf файлом.
- Файлы t1.dbf, t2.dbf и т. д.
- Как заставить "мигать" свернутое окно приложения 1С 8.0?
- Проектирование: Возможно ли заставить работать 1С 7.7 с MS SQL Server 2005 ?
- v8: Можно ли заставить сервер 1С видеть серверный ключ, установленный на другой машине?
- Работа с DBF. Как проверить необходимость реиндексации DBF?
- Заставить 1С использовать два ядра системы!
- 8.2 Можно ли заставить COM-объект сервера открывать клиентский файл
В этой группе 1С
- 1с 8,2 Как вывести итог суммы в подвале таб части документа в реквизит документа
- v7: Учет товара по коробкам. Есть идеи?
- СКД: Как сдвинуть начало недели?
- УТ 11 Скидки За накопленный объем продаж
- В Отчете производства за смену не отражается плановая себестоимость
- Виртуализация 1с7/8
- Занятие 18 по учебнику М.Радченко.
- После обновления платформы пишет "База данных не обнаружена"
- v7: Установить значение ячейки ТЗ по номеру колонки
- отображение ФИО продавца на чеке.
- По состоянию на дату события & По базовым начислениям
- ЗУП. Унифицированная форма Т-13 и индивидуальные графики работы.
- УТ 11 управление видимостью колонок табличной части документов Артикул
- Проблемы с 64-х разрядной почтой
- параметр виртуальной таблицы Субконто
- СКД. Пользовательские настройки. Передать отбор в открываемую форму.
- MacBook Pro - битые пиксели.
- Программа для работы с договорами
- Программное создание документа "Ввод начальных остатков"
- Как проверить, подключена ли внешняя компонента? Возможно?