Russian Qt Forum
Май 05, 2024, 15:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MySQL encoding  (Прочитано 10995 раз)
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« : Январь 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 не помагает
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Январь 13, 2005, 11:00 »

Цитировать
Подключаюсь к базе, в таблице английские буквы видны нормально, при вводе русских появляются знаки НепонимающийНепонимающий?.


Посмотри внешним клиентом, типа mysql-navigator.

В базе руские или нет?
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #2 : Январь 13, 2005, 12:14 »

Цитата: "Admin"
Цитировать
Подключаюсь к базе, в таблице английские буквы видны нормально, при вводе русских появляются знаки НепонимающийНепонимающий?.


Посмотри внешним клиентом, типа mysql-navigator.

В базе руские или нет?

Смотрел mysqlcc...
В базе вопросики Непонимающий?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Январь 13, 2005, 12:40 »

значится кладешь не правильно

а пробовал конвертировать

QCString QString::local8Bit () const

может это поможет?
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #4 : Январь 13, 2005, 13:56 »

Цитата: "Admin"
значится кладешь не правильно

а пробовал конвертировать

QCString QString::local8Bit () const

может это поможет?



Спасло только:
QTextCodec *codec=QTextCodec::codecForName("utf8");
QTextCodec::setCodecForCStrings(codec);

Тогда всё получается!
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #5 : Январь 13, 2005, 15:27 »

ну тоже выход Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.