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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt, MySQL, русские символы.  (Прочитано 2203 раз)
demiurg
Гость
« : Январь 30, 2013, 13:08 »

Код:
QSqlDatabase db =  QSqlDatabase::database("db",false);
QSqlQuery sql = QSqlQuery(db);
sql.exec("SELECT * FROM object");
QString temp;
while(sql.next())
            {
            temp=sql.value(1).toString();
            }
в мейне.

Код:
QTextCodec::setCodecForTr(QTextCodec::codecForName("CP1251"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

Как бы не извращался - одни кракозябры вылазят в temp Улыбающийся
MySql 5.5
character_set_client     | latin1
character_set_connection | latin1
character_set_database   | utf8
character_set_filesystem | binary
character_set_results    | latin1
character_set_server     | utf8
character_set_system     | utf8

Как сделать , чтобы нормально отображало? Уже всю базу в Utf8 перегнал.
--
При вставке в базу - вместо русских символов - одни Непонимающий??

Код:
sql.prepare("INSERT INTO object(name,address) VALUES(:name,:address);");
sql.bindValue(":name",temp.toUtf8());
sql.bindValue(":address","Адрес");
sql.exec();

« Последнее редактирование: Январь 30, 2013, 14:16 от demiurg » Записан
schmidt
Гость
« Ответ #1 : Февраль 12, 2013, 21:36 »

Цитировать
character_set_results | latin1

Мне так сильно кажется, что проблема именно здесь Улыбающийся Выставьте для начала кодировку в UTF-8, скомандовав мускулу `SET NAMES utf-8` Когда в своё время кодил на PHP+MySQL часто натыкался на ту же проблему Улыбающийся

Из документации по MySQL: [ http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html ]
Цитировать
The character_set_results system variable indicates the character set in which the server returns query results to the client. This includes result data such as column values, and result metadata such as column names.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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