Всем привет.
Тема изъежженая, но ничего не могу поделать со своей проблемой.
Перерыл все, что возможно - ничего не помогает.
Данные по базе MYSQL:
character_set_client cp1251
character_set_connection cp1251
character_set_database cp1251
character_set_filesystem binary
character_set_results cp1251
character_set_server cp1251
character_set_system utf8
character_set_dir C:\MySQL\share\charsets\
Код подключения и запроса:
C++ (Qt)
QTextCodec *codec=QTextCodec::codecForName("CP1251");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("test3");
db.setHostName("localhost");
db.setPort(-1);
db.open("root", "qwerty")
QSqlQuery query = QSqlQuery(db);
query.exec("SET NAMES CP1251");
query.exec("SELECT name FROM object_types");
while (query.next())
{
QString s = query.value(0).toString();
QString s1 = s.fromUtf8(s.toStdString().c_str());
QString name2 = QString::fromLatin1(s.toUtf8());
QString rname1 = tr(s.toStdString().c_str());
QString rname2 = s.fromUtf8(s.toLatin1());
QString rname3 = s.toLatin1();
QString rname4 = s.toUtf8();
QString rname5 = QTextCodec::codecForName("CP1251")->toUnicode(s.toStdString().c_str());
QString rname6 = QString::fromLatin1(s.toStdString().c_str());
char* rname7 = s.toAscii().data();
QString rname8 = tr(s.toAscii().data());
QString name9 = QString::fromLatin1(s.toAscii());
QString name10 = QString::fromUtf8(s.toAscii());
QString name11 = tr(name10.toStdString().c_str());
}
Все предложенные выше варианты взятые с разных форумов выдают вместо кириллицы различную охинею типа: "�������᪨�" или "
" или "пїЅпїЅпїЅпїЅпїЅпїЅпїЅбЄЁпїЅ" и т.п.
ПОМОГИТЕ!!!