![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
![]()
Всем привет.
Наткнулся на следующую проблему Есть файл dbf, подключаю его через ADOConnection - Microsoft OLE DB Driver for Visual FoxPro. Все бы вроде ничего, но в таблице есть поле, в котором находится русский текст, и отображаются не все буквы, читабильно, но чтото не то)) картинку прикладываю. Изначально подключал через BDE - Database - Файлы dBase. в этом случае одни знаки вопроса были, пробовал открыть через Database Desktop - закорючки. с ADO вроде все норм, но не совсем до конца) может кто знает в чем дело..
icq: 489-124-264; mail: invazia@mail.ru
Последний раз редактировалось nVz; 31.07.2013 в 17:25. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ой, помнится мне, были такие глюки...
сейчас буду писать исключительно по памяти и вообще, не факт, что Вам поможет, но, имхо, был такой косяк... попробуйте сделать две вещи (обязательно обе). 1) проверить кодовую страницу в заголовке DBF файла (это 29-й байт, считая от нуля) обязательно должна стоять правильная кодовая таблица (0x65 для 866 (DOS) кодировки; 0xC9 для 1251 (WIndows)) 2) создайте индексный файл (.CDX) по любому полю. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
![]()
Спасибо вам за ответ, но думаю это не выход, т.к такие файлы будут приходить постоянно, и каждый раз проделывать это не совсем удобно будет с каждым.
скачал программу "Редактор DBF" http://hotdownloads.ru/redaktor_dbf открывает все без проблем, потом делаю экспорт, но опять же не удобно..
icq: 489-124-264; mail: invazia@mail.ru
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
![]()
Файлы не секретные (?) - хотелось бы глянуть на причину
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
![]()
Файл к сожалению выложить не могу, т.к чужие данные, но сделал скриншот заголовка файла в программе, о которой писал выше
icq: 489-124-264; mail: invazia@mail.ru
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
![]()
в таком виде показывает Database Desktop
icq: 489-124-264; mail: invazia@mail.ru
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
у вас в заголовке файла, там, где должна быть кодовая страница находится число 03. Это что-то своё, нестандартное.
Вот в этом (в первую очередь) и причина проблемы. Теперь по поводу решения. Если Вас найденный Вами обходной путь (т.н. workaround) устраивает, то и слава Богу, можно забыть о проблеме. Если же нет, то, Вам можно попробовать использовать другие компоненты для доступа к DBF (в первую очередь TDBF или Halcyon). Это раз. Второе, а кто Вам мешает проставлять правильную кодовую таблицу в своей программе на делфи (прямо через прямую запись байта в файл)? Ну и третье. Подготовьте файл (удалите все записи и добавьте пару абсолютно бессмысленных записей - только важно, чтобы там был русский текст), если полученный файл точно так же отображается кракозябрами - тогда выкладывайте его на форум. Думаю, что тут помогут. Успехов. |
![]() |
![]() |
![]() |
#8 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
![]()
Предположу что таблицы получены из 1С, так как именно 1С-ка имеет привычку портить 3 первых байта в текстовых полях, что там и как не знаю (слышал про это от коллеги интегрирующего 1С и Delphi софт), но подозреваю что всё это многократно обсуждалось на форумах 1С-ников.
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
![]()
Спасибо за помощь.
С помощью примера приложенного к TDBF удалось открыть в нормальном виде этот файл, теперь осталось разобраться как привязать туда Query и все связать
icq: 489-124-264; mail: invazia@mail.ru
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
![]()
astecenko, нет, программа из директории которой забираю этот файл не 1с, а чья то самописная.
icq: 489-124-264; mail: invazia@mail.ru
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ADO + .DBF + кодировка | shurik_7866 | БД в Delphi | 1 | 07.10.2011 20:47 |
dbf и tqueru, собрать несколько dbf файлов в одном, импорт вобщем | betirsolt | БД в Delphi | 16 | 10.07.2011 13:52 |
Кодировка Dbf | Nikolaeva | БД в Delphi | 7 | 05.02.2008 13:24 |