Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C++ > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 18.06.2018, 20:40   #1
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 709
По умолчанию QSqlDatabase кодировка параметров подключения

Приветствую Гуру Qt

Столкнулся со следующей проблемой.
Пытаюсь подконнектится к базе данных на postgres

QSqlDatabase qbase;

Код:
void Connect(const QString& dbhost, const QString& dbname,
         const QString& dbrole, const QString& dbpass, int dbport)
{
    qbase.setHostName(dbhost);
    qbase.setPort(dbport);
    qbase.setDatabaseName(dbname);
    qbase.setUserName(dbrole);
    qbase.setPassword(dbpass); 
    if (qbase.open() == 0)
   {
     ПОДКЛЮЧЕНИЯ НЕТ - я в этом месте
   }
   else
   {
 
   }
}
делаю так:

Код:
void Connect(const QString& dbhost, const QString& dbname,
         const QString& dbrole, const QString& dbpass, int dbport)
{
    qbase.setHostName("192.168.74.241");
    qbase.setPort(5432);
    qbase.setDatabaseName("TEST");
    qbase.setUserName("postgres");
    qbase.setPassword("byc7wer8fg"); 
    if (qbase.open() == 0)
   {
     
   }
   else
   {
     ПОДКЛЮЧЕНИЕ ЕСТЬ -  я в этом месте
   }
}

Одна деталь. В первом случае параметры снимаются из помпонент QLineEdit расположенных на Widget-е типа QDialog
В конструкторе виджета следующий код

Код:
ConnectDialog::ConnectDialog(QWidget *parent)
  : QDialog(parent)
{
    setupUi(this);
    CodecKOI8R = QTextCodec::codecForName("KOI8-R");
    ......
}
сам файл СРР в кодировке КОИ-8R, а вот файл UI почему то в UTF-8

Может какие то проблемы изза KOI8-R ?
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS на форуме Ответить с цитированием
Старый 18.06.2018, 20:48   #2
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

Цитата:
Сообщение от JUDAS Посмотреть сообщение
КОИ-8R
Зачем оно нужно?

https://wiki.qt.io/Strings_and_encodings_in_Qt
Alex11223 вне форума Ответить с цитированием
Старый 18.06.2018, 22:12   #3
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Пересохраните все в UTF-8 и пользуйтесь только ей. На всех системах понимается + можно спец символы, скажем для запроса POST, прямо в тексте давать.

А вообще у QString есть методы типа toLocal8Bit или toLatin1
вот и впишите их там, при установке соединений.
alexzk вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпрограммы (free Pascal): объяснить механизм передачи параметров и назвать правило соответствия формальных и фактических параметров Jon_Morgan Помощь студентам 1 28.12.2016 09:38
как соединить Access с Delphi. после подключения сообщение "не выполнена проверка подключения из-за ошибки при инициализации татьяна09 БД в Delphi 1 19.05.2014 09:47
Организация программ с использованием процедур .использованием параметров-значений и параметров переменных Фрейтор 40-500 Помощь студентам 0 02.11.2012 21:58
Организация программ с использованием процедур .использованием параметров-значений и параметров переменных Фрейтор 40-500 Помощь студентам 6 02.11.2012 21:46
Как скрыть значок определённого подключения из папки "сетевые подключения"? mr_alex Win Api 2 05.11.2009 11:40


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS