Кодировки в QT, Не работает отображение русских букв |
Здравствуйте, гость ( Вход | Регистрация )
Кодировки в QT, Не работает отображение русских букв |
Гость_Alex_* |
7.1.2009, 19:39
Сообщение
#1
|
Гости |
Кодек назначаю
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); и при сборке имею main.cpp:15: ошибка: неполный тип ‘QTextCodec’ использован во вложенном спецификаторе имени Без кодека никакие русские буквы в кодировке UTF-8 в QLineEdit на отображаются, только барабер какой-то. Буду признателен за помощь - Qt только осваиваю. |
|
|
Litkevich Yuriy |
7.1.2009, 23:27
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
1. app.load(QString("qt_") + locale); на первых порах он тебе не нужен,метода load() не нашлось ни для QApplication, ни для QCoreApplication Что за версия Qt?2. #include "mainwindow.h" - его еще создать это то где бы я разместил твой класс.Ключевой момент: // Устанавливаем кодеки Первый, кодировка локали системы, определяется автоматическиQTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());// без этой кодировки с БД проблема QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Для функций перевода tr() Второй кодек, кодировка твоего файла с кодом (текстового редактора) метода load() не нашлось ни для QApplication, ни для QCoreApplication Пардон, по опечатка, должно быть так:
|
|
|
Alex69z |
8.1.2009, 1:47
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 7.1.2009 Пользователь №: 480 Спасибо сказали: 0 раз(а) Репутация: 0 |
1. app.load(QString("qt_") + locale); на первых порах он тебе не нужен,метода load() не нашлось ни для QApplication, ни для QCoreApplication Что за версия Qt?2. #include "mainwindow.h" - его еще создать это то где бы я разместил твой класс.Ключевой момент: // Устанавливаем кодеки Первый, кодировка локали системы, определяется автоматическиQTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());// без этой кодировки с БД проблема QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Для функций перевода tr() Второй кодек, кодировка твоего файла с кодом (текстового редактора) метода load() не нашлось ни для QApplication, ни для QCoreApplication Пардон, по опечатка, должно быть так:
Версия Qt-4.4.3 Настроил кодеки как Вы показали - результат тот же - русские буквы отображаются иероглифами Latin1 я не знаю mysql API обьясни мне пожалуйста что представляет из себя row и result? как я понимаю это какие-то классы. В остальном почти готово MYSQL_RES * Result - определяется в mysql.h как typedef srtucut {...} MYSQL_RES. Элемент MySQL API, предназначенный для хранения результата запроса. MYSQL_ROW Row - строка в результате (курсоре данных). Определяется как typedef MYSQL_ROW char ** в mysql.h. Желание использовать MySQL API напрямую исходит от того, что только он (API) позволяет манипулировать всей MySQL-системой без посредников. И к тому же он прост, понятен и отменно документирован. Работа через SQL-движок Qt похожа на ODBC-драйвер как мне кажется. По большому счету нет разницы, каким образом добираться до данных. Вопрос в том, что Qt в моих кривых руках не желает ОТОБРАЖАТЬ эти данные. Пытаюсь побороть эту проблему - пока безрезультатно. |
|
|
Текстовая версия | Сейчас: 1.12.2024, 23:14 |