|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.07.2013, 17:23 | #1 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
Кодировка dbf
Всем привет.
Наткнулся на следующую проблему Есть файл 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. |
31.07.2013, 22:39 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ой, помнится мне, были такие глюки...
сейчас буду писать исключительно по памяти и вообще, не факт, что Вам поможет, но, имхо, был такой косяк... попробуйте сделать две вещи (обязательно обе). 1) проверить кодовую страницу в заголовке DBF файла (это 29-й байт, считая от нуля) обязательно должна стоять правильная кодовая таблица (0x65 для 866 (DOS) кодировки; 0xC9 для 1251 (WIndows)) 2) создайте индексный файл (.CDX) по любому полю. |
31.07.2013, 23:15 | #3 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
Спасибо вам за ответ, но думаю это не выход, т.к такие файлы будут приходить постоянно, и каждый раз проделывать это не совсем удобно будет с каждым.
скачал программу "Редактор DBF" http://hotdownloads.ru/redaktor_dbf открывает все без проблем, потом делаю экспорт, но опять же не удобно..
icq: 489-124-264; mail: invazia@mail.ru
|
31.07.2013, 23:44 | #4 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
Файлы не секретные (?) - хотелось бы глянуть на причину
|
31.07.2013, 23:53 | #5 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
Файл к сожалению выложить не могу, т.к чужие данные, но сделал скриншот заголовка файла в программе, о которой писал выше
icq: 489-124-264; mail: invazia@mail.ru
|
01.08.2013, 00:05 | #6 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
в таком виде показывает Database Desktop
icq: 489-124-264; mail: invazia@mail.ru
|
01.08.2013, 08:31 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
у вас в заголовке файла, там, где должна быть кодовая страница находится число 03. Это что-то своё, нестандартное.
Вот в этом (в первую очередь) и причина проблемы. Теперь по поводу решения. Если Вас найденный Вами обходной путь (т.н. workaround) устраивает, то и слава Богу, можно забыть о проблеме. Если же нет, то, Вам можно попробовать использовать другие компоненты для доступа к DBF (в первую очередь TDBF или Halcyon). Это раз. Второе, а кто Вам мешает проставлять правильную кодовую таблицу в своей программе на делфи (прямо через прямую запись байта в файл)? Ну и третье. Подготовьте файл (удалите все записи и добавьте пару абсолютно бессмысленных записей - только важно, чтобы там был русский текст), если полученный файл точно так же отображается кракозябрами - тогда выкладывайте его на форум. Думаю, что тут помогут. Успехов. |
01.08.2013, 11:11 | #8 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
Предположу что таблицы получены из 1С, так как именно 1С-ка имеет привычку портить 3 первых байта в текстовых полях, что там и как не знаю (слышал про это от коллеги интегрирующего 1С и Delphi софт), но подозреваю что всё это многократно обсуждалось на форумах 1С-ников.
|
01.08.2013, 11:40 | #9 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 61
|
Спасибо за помощь.
С помощью примера приложенного к TDBF удалось открыть в нормальном виде этот файл, теперь осталось разобраться как привязать туда Query и все связать
icq: 489-124-264; mail: invazia@mail.ru
|
01.08.2013, 11:41 | #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 |