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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Неверная кодировка при считывании с Mysql  (Прочитано 4786 раз)
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();

возвращает знаки вопроса
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Сентябрь 17, 2006, 21:08 »

в поиск!
уже много раз

коротко
надо что то типа
послать запрос
SET TABLE NAMES UTF-8
Записан
Alexei
Гость
« Ответ #2 : Сентябрь 17, 2006, 21:09 »

Попробуй добавить строчку:
Код:
QSqlQuery char_set_query("SET NAMES 'utf-8'");
Записан
TukiNov
Гость
« Ответ #3 : Сентябрь 17, 2006, 22:04 »

или :
Код:

    QTextCodec *codec=QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForCStrings(codec);
Записан
visor_ua
Гость
« Ответ #4 : Сентябрь 17, 2006, 22:14 »

Всем спасибо, сработало с
Код:

QSqlQuery query_names("SET NAMES utf8;");
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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