Данная тема уже поднималась мною в форуме по Qt, но так и не получила конструктивного завершения.
Используются
Qt 4.1.0
MySQL 4.1
OS WindowsXP Professional SR2
БД таблица и поля типа varchar, создаются с инструкцией DEFAULT CHARACTER SET utf8
При запуске программы выполняю
QTextCodec *codec;
codec=QTextCodec::codecForName("utf8");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
При соединении с БД
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("mytest");
db.setUserName("root");
db.setPassword("57r80t10");
db.setHostName("localhost");
QSqlQuery query;
query.exec("SET NAMES utf8");
Ввожу текстовое значение кирилическими символами (ни каких проблем с отображением символов нет) через поле ввода
query.prepare("INSERT INTO test(status) VALUES(:st)");
query.bindValue(":st", lineEdit->text());
query.exec();
После добавления, только что введенное в ТБД значение отображается через QTableView. Вот тут и проблема - текст отображается в виде знаков вопроса.
Идеи есть? :?: