Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Где можно сменить кодировку? / 4 сообщений из 4, страница 1 из 1
31.07.2003, 11:53
    #32223504
li
li
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно сменить кодировку?
программа на VC++6.0
данные выбираются из бд *.gdb через механизм ODBC. Но на экране вместо русских слов - "абракадабра"
не та кодировака. где можно прописать какую использовать, и, действительно, какую?
...
Рейтинг: 0 / 0
31.07.2003, 16:40
    #32224129
keisik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно сменить кодировку?
Прилодение какое, Вин/консоль?
Что значит на экране - в статике/едите?
...
Рейтинг: 0 / 0
31.07.2003, 18:18
    #32224298
li
li
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно сменить кодировку?
Приложение под windows,
когда запускаю программу на выполнение (F5).
в "Источники данных ODBC" в панели управления в окне Setup DSN есть поле Character Set (если это действительно то поле, которое нужно), но нет help'a и непонятно, что в этом поле надо писать. Например, строчка "ANSI" тест проходит, но при выполнении вызывает "ненормальное" завершение программы "abnormal ..."
...
Рейтинг: 0 / 0
02.08.2003, 13:05
    #32225590
li
li
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где можно сменить кодировку?
Если в настройках драйвера прописать, например, Windows-1251,
при тестировании выбрасывает сообщение: "bad parameters on attach or create database CHARACTER SET Windows-1251 is not defined"
Если писать Win1251, то в пошаговом режиме получаю исключение: Unhandled exception in my.exe (MSVCRTD.DLL) ... Microsoft C++ Exception

Ошибка происходит при выполнении SQL запроса на выборку данных
CString s,sfn;
s.Format("Select ID,FULLNAME from t1 where ID=%d",in_dw);

CGXDynamicRecordset rs(m_pdb);
rs.SetSqlQuery(s);
s="-1";
rs.Open(); .. << здесь выскакивает msg

(повторю, если не прописывать кодировку в настройкай драйвера, то все работает только русский отображается некорректно.)
К слову, на другом пк устанавливалась программа абсолютно так же, те же драйвера и т.п., но там ОС - Win 2000, и там сразу все работает и язык - русский без всяких настроек, здесь же win 98 и имею такие проблемы...

Итак, если смотреть отладчиком ошибка - "Ошибка при получении записи" возникает на функции
// Fetch the first row of data
MoveNext();
в методе BOOL CRecordset::Open(UINT nOpenType, LPCTSTR lpszSQL, DWORD dwOptions), модуль Dbcore.cpp

И что здесь можно сделать?
В чем проблема? И как с этим бороться???

Структура базы t1
CREATE TABLE T1
(
ID INTEGER NOT NULL,
NAME VARCHAR(64) NOT NULL,
FULLNAME VARCHAR(64),
PRIMARY KEY (ID),
UNIQUE (NAME)
);
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Где можно сменить кодировку? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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