Russian Qt Forum

Qt => Базы данных => Тема начата: visor_ua от Сентябрь 17, 2006, 21:00



Название: Неверная кодировка при считывании с Mysql
Отправлено: visor_ua от Сентябрь 17, 2006, 21:00
Какую кодировку базы нужно выставить чтобы не выводило ???? вместо кирилицы.
База: utf-8
В приложении:
   
Код:
QTextCodec::setCodecForLocale ( QTextCodec::codecForName ( "UTF-8" ) ) ;
QTextCodec::setCodecForCStrings ( QTextCodec::codecForName ( "UTF-8" ) ) ;
QTextCodec::setCodecForTr (QTextCodec::codecForName ("UTF-8"));

А результат
Код:

QSqlQuery result(sSqlSelect);
result.first();
QString str = result.value(0).toString();

возвращает знаки вопроса


Название: Неверная кодировка при считывании с Mysql
Отправлено: Admin от Сентябрь 17, 2006, 21:08
в поиск!
уже много раз

коротко
надо что то типа
послать запрос
SET TABLE NAMES UTF-8


Название: Неверная кодировка при считывании с Mysql
Отправлено: Alexei от Сентябрь 17, 2006, 21:09
Попробуй добавить строчку:
Код:
QSqlQuery char_set_query("SET NAMES 'utf-8'");


Название: Неверная кодировка при считывании с Mysql
Отправлено: TukiNov от Сентябрь 17, 2006, 22:04
или :
Код:

    QTextCodec *codec=QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForCStrings(codec);


Название: Неверная кодировка при считывании с Mysql
Отправлено: visor_ua от Сентябрь 17, 2006, 22:14
Всем спасибо, сработало с
Код:

QSqlQuery query_names("SET NAMES utf8;");