Название: MySQL encoding Отправлено: Sergey B. от Январь 13, 2005, 10:39 Проблема в следующем...
Подключаюсь к базе, в таблице английские буквы видны нормально, при вводе русских появляются знаки ???????. Кодировка базы utf8 конфигурация: WinXP SP2 MySQL 4.1.7-nt Qt-3.3.3 VS2003 Код: #include <qapplication.h> #include <qsqldatabase.h> #include "form1.h" int main( int argc, char ** argv ) { QApplication a( argc, argv ); QSqlDatabase *mybase=QSqlDatabase::addDatabase("QMYSQL3"); if ( !mybase ) { qWarning( "Failed to connect to driver" ); return FALSE;} mybase->setDatabaseName("mybase"); mybase->setUserName("root"); mybase->setPassword("") ; mybase->setHostName("192.168.0.2"); if ( ! mybase->open() ) { qWarning( "Failed to open database: " + mybase->lastError().driverText() ); qWarning( mybase->lastError().databaseText() ); return FALSE; } QSqlQuery query ("INSERT INTO mytable (name,family)" "VALUES ('Ivanov','Ivan')"); Form1 w; w.show(); a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) ); return a.exec(); } P.S. QTextCodec::setCodecForTr не помагает Название: MySQL encoding Отправлено: Admin от Январь 13, 2005, 11:00 Цитировать Подключаюсь к базе, в таблице английские буквы видны нормально, при вводе русских появляются знаки ???????. Посмотри внешним клиентом, типа mysql-navigator. В базе руские или нет? Название: MySQL encoding Отправлено: Sergey B. от Январь 13, 2005, 12:14 Цитата: "Admin" Цитировать Подключаюсь к базе, в таблице английские буквы видны нормально, при вводе русских появляются знаки ???????. Посмотри внешним клиентом, типа mysql-navigator. В базе руские или нет? Смотрел mysqlcc... В базе вопросики ???? Название: MySQL encoding Отправлено: Admin от Январь 13, 2005, 12:40 значится кладешь не правильно
а пробовал конвертировать QCString QString::local8Bit () const может это поможет? Название: MySQL encoding Отправлено: Sergey B. от Январь 13, 2005, 13:56 Цитата: "Admin" значится кладешь не правильно а пробовал конвертировать QCString QString::local8Bit () const может это поможет? Спасло только: QTextCodec *codec=QTextCodec::codecForName("utf8"); QTextCodec::setCodecForCStrings(codec); Тогда всё получается! Название: MySQL encoding Отправлено: Admin от Январь 13, 2005, 15:27 ну тоже выход :)
|