Текущий архив: 2003.09.29;
Скачать: CL | DM;
Вниз
Проблема с кодировкой Найти похожие ветки
← →
Rel_ (2003-09-09 08:53) [0]Мастера, просветите !!! Возникла следующая проблема:
Работаю с ORACLE через компоненты прямого доступа (минуя BDE). Заливаю локальную таблицу (dBase) на сервер. Таблицы, в которых выставлена кодировка dBase866 Rus копируются отлично. В таблицах, в которых выставлена кодировка ascii ... - искажается русский текст.
Как энтого миновать - т.е. предусмотреть в программе решение данного вопроса, чтобы не заставлять пользователя менять кодировку таблицы руками (т.е. самому) ???
← →
Reindeer Moss Eater © (2003-09-09 09:05) [1]чтобы не заставлять пользователя менять кодировку таблицы руками (т.е. самому) ???
Делай это в своей программе перед импортом.
← →
Rel_ (2003-09-09 09:20) [2]Я не против, но:
1) Как энто сделать программно (там, кажется, какойто байт необходимо выставлять).
2) Как при этом обеспечить сохранность исходной локальной таблицы. Исходная таблица должна остаться в неизменном состоянии. Создавать копию таблицы (с изменёнными параметрами) и затем убивать её поле заливки (?? наверное ??) не подойдёт, т.к. размеры исходных таблиц могут быть просто грандиозными (2 гега для локальной таблицы - это много).
← →
Reindeer Moss Eater © (2003-09-09 09:35) [3]1) Как энто сделать программно
Сначала надо узнать что делает пользователь "руками" что бы ему полегчало.
2) Как при этом обеспечить сохранность исходной локальной таблицы. Исходная таблица должна остаться в неизменном состоянии. Создавать копию таблицы (с изменёнными параметрами) и затем убивать её поле заливки (?? наверное ??) не подойдёт, т.к. размеры исходных таблиц могут быть просто грандиозными (2 гега для локальной таблицы - это много).
1. Купить диск большего размера
2. Отменть внесенные изменения в файл после импорта.
3. Иметь правильный Dbase-файл, не требующий доп.телодвижений
4. Сменить библиотеку доступа к Dbase, которой наплевать на неправильные байты
5. И т.д.
← →
roottim (2003-09-09 09:47) [4]если очень надо могу прислать свою мульку в ехе по перегону дбейз в оракле (работает в 2-х режимах Direct path или DML)
← →
Rel_ (2003-09-09 09:52) [5]Сначала надо узнать что делает пользователь "руками" что бы ему полегчало.
Давай упростим задачу:
Перед тем, как таблица будет залита на сервер, она должна открыта примитивным запросом с помошью объекта TQuery: "select * from "--path--"". Вот на этом шаге и возникает проблема с кодировкой.
Представь, что пользоваль руками нажимает только кнопку на форме и затем выполняется запрос - вот на этом этапе как избежать проблемы???
← →
Reindeer Moss Eater © (2003-09-09 09:57) [6]вот на этом этапе как избежать проблемы???
Сначала надо вникнуть в суть проблемы.
Выяснить в какой кодировке присутствуют данные в файле, выяснить какой языковый драйвер использует БДЕ для DBase и т.д.
← →
Rel_ (2003-09-09 09:58) [7]to roottim
Конечно присылай - буду крайне благодарен. Если бы ещё исходничек (если не очень жалко). У меня просто тоже есть модуль по перегону на ORACLE (работает мгновенно) - вот только перед его запуском надо справиться с указанной проблемой (могу прислать тоже).
Просто мой модуль работает в комплексе, поэтмоу исходник, конечно, был бы намного желательнее (чтоб я его мог изменить под себя или хотябы посмотреть твой механизм копирования).
Заранее благодарен !!!
← →
Rel_ (2003-09-09 10:02) [8]to Reindeer Moss Eater ©
Без проблем :
языковой драйвер в BDE: dBASE RUS cp866
если данные в файле в той же кодировке - то всё OK, если они представлены в "ascii"ANSI кодировке - то беда.
Вот это и есть суть моего вопроса !!!
← →
Reindeer Moss Eater © (2003-09-09 10:04) [9]TSession.ModifyDriver - решение этой проблеммы
← →
roottim (2003-09-09 10:19) [10]просто ради любопытства...
куда выслать? :)
← →
Rel_ (2003-09-09 10:28) [11]to Reindeer Moss Eater © Спасибо, обязательно попробую !!!
to roottim : ryab_el@rambler.ru - спасибо за помошь !!!
Страницы: 1 вся ветка
Текущий архив: 2003.09.29;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.037 c