QODBC MS Access(*.accdb) кодировка, Вопросики в черных квадратиках |
Здравствуйте, гость ( Вход | Регистрация )
QODBC MS Access(*.accdb) кодировка, Вопросики в черных квадратиках |
haiflive |
9.6.2011, 16:01
Сообщение
#1
|
Студент Группа: Участник Сообщений: 37 Регистрация: 8.7.2010 Пользователь №: 1868 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте. у меня возникла проблема с кодировками..
Подключился к базе MS Access, через ODBC драйвер, делаю запрос QSqlDatabase::tables(), и вывожу результат в QTextEdit и получаю кучу вопросиков в чёрных ромбиках.. Латиница отабражается нормально, а вот русские буквы(русские буквы в названиях таблиц и их полей не я накуралесил) отображаются тёмными ромбиками внутри которых вопросики, обычно это происходит когда cp-1251 отображают как utf-8, странно токуда вылезло cp-1251?. ODBC кажется кодирует в ASCII кодировке.. Вобщем, варианты типа этих не работаю QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));//UTF-8//ASCII, ANSI// CP-1251 FromUTF8 , toLocal8bit не помогают, уже весь иннет перерыл.. заставить базу в mySQL как бы просто, один sql SET NAMES cp1251, ну или посмотреть кодировки SHOW GLOBAL VARIABLES LIKE 'char%'; а в odbc почему-то выполнение этих запросов query.exec(); возвращает false; Как можно в приложении изменить кодировку, изменить кодировку соединения с базой?. ну или на крайняк изменить кодировку DSN драйвера?. OC windows 7, Qt SDK_1_1_1, QT4.7.3, mingw. ммм.. где здесь правка собственных постов?. извеняюсь за ошибки. |
|
|
PAFOS |
10.6.2011, 7:54
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Если ты в строке подключения указал UTF-8 то будь добр установи кодек в своей проге тоже на UTF-8
codecForCStrings. Если не поможет - покажи дамп QString, который возвращается, чтобы определись UTF16 это или UTF-8 или cp1251) Так же может быть момент, что порядок байтов не совпадает (но это уже последний случай) |
|
|
Текстовая версия | Сейчас: 15.1.2025, 0:26 |