powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / DBF+ODBC+кирилица большие буквы
6 сообщений из 6, страница 1 из 1
DBF+ODBC+кирилица большие буквы
    #33633527
Alexandoros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал odbc конект к dbfникам, конекчусь, работаю все ок. Когда в текстовом поле кирилица, то все вроде нормально - я их читаю, делаю CharToOem и все хорошо. Но это работает если символы маленькие. А если символы большие оно выдает какуюто х-ню, которая не дешифруется ничем. Может ктото сталкивался? Как обойти?

Вот отрывок из кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
if(ODBCCon->BindCol( 1 , SQL_C_CHAR,	&Record.OtdelName,	0x400, Buff))	return  1 ;

if(ODBCCon->ExecSQLReq("SELECT S_PGR.NAME FROM S_PGR"))
							   return  1 ;
while( !ODBCCon->Fetch() )
{

CharToOem(Record.ItemName, str); // Все ок если маленькие символы, а если большие то не ок :(
.....
}
...
Рейтинг: 0 / 0
DBF+ODBC+кирилица большие буквы
    #33633712
MVFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через ADO не пробовали ?
Таблички, на a.malnev@inbox.ru.
...
Рейтинг: 0 / 0
DBF+ODBC+кирилица большие буквы
    #33633914
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Alexandoros!

Просто надо в таблице проставить 29-й байт в значение соответствующее
кодировке данных - а не заниматься сексом с CharToOem :)
Предполагается конечно, что используется нормальный ODBC драйвер - например
Microsoft Visual Foxpro ODBC Driver версии 6.1.8629.1

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
DBF+ODBC+кирилица большие буквы
    #33634610
Alexandoros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это просто ....
Я порылся в нете. Документации на dbf все разные. В заголовке моего dbf ника стоит версия 03 - File without DBT. А вот с кодировками неоднозначности.

CP866 - (из разных источников) = 26h, 65h, 66h
CP1251 - (из разных источников) = C9h, 57h

Опытным путем проверил что подходят значения 66h и C9h, - при этом читается маленькая кирилица, которую потом ВОЗМОЖНО преобразовать через CharToOEM. Большим буквам без разницы - выдается фигня. Записи в таблице хранятся в кодировке 1251 - 100%, проверил Far'ом.

Компилятор визуал студия 7, драйвер Microsoft dBase driver 4.00.6205.00, win2k3.

Драйверов я уже перепробовал штук 5 (в одбс сорсе есть несколько драйверов для работы с dbf ), одно и то же. Блин, я б прочитал файл в ручную, но мне нужно запросы на пару таблиц создавать, не писать же субд, епт.

Пробовал читать не как SQL_C_CHAR, а как SQL_C_BINARY - одинаково.
...
Рейтинг: 0 / 0
DBF+ODBC+кирилица большие буквы
    #33634648
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Структура DBF:
http://inform.p-stone.ru/libr/db/teoretic/data/public1/
...
Рейтинг: 0 / 0
DBF+ODBC+кирилица большие буквы
    #33634918
Alexandoros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Hi Alexandoros!

Просто надо в таблице проставить 29-й байт в значение соответствующее
кодировке данных - а не заниматься сексом с CharToOem :)
Предполагается конечно, что используется нормальный ODBC драйвер - например
Microsoft Visual Foxpro ODBC Driver версии 6.1.8629.1

Posted via ActualForum NNTP Server 1.3


Поменял байт на C9h, поставил Microsoft Visual Foxpro ODBC Driver версии 6.1.8629.1, и ПОШЛО.
Кажись проблема была в том что драйвер был старый. Всем спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / DBF+ODBC+кирилица большие буквы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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