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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Решено Кодировка полученных данных QHttp  (Прочитано 5430 раз)
max1983
Гость
« : Октября 30, 2009, 19:58 »

Кодировка полученных данных QHttp.
Проблема как все догадались с русским текстом!
Данные получаю с Web страницы. html

Цитировать
QString text;
text =QString::fromUtf8( http->readAll() );
или
 text = text.fromLocal8Bit(http->readAll());
так не помогает.

Хелпп.. дурацкая проблема.
« Последнее редактирование: Октября 31, 2009, 23:50 от max1983 » Записан
BRE
Гость
« Ответ #1 : Октября 30, 2009, 20:29 »

Кодировка полученных данных QHttp.
Проблема как все догадались с русским текстом!
Данные получаю с Web страницы. html
А ты уверен что страница в кодировке Utf8?
Может cp1251 или koi8r?
Записан
max1983
Гость
« Ответ #2 : Октября 30, 2009, 21:57 »

Цитировать
А ты уверен что страница в кодировке Utf8?
Может cp1251 или koi8r?
Нет конечно!
Как декодировать правильно?
Записан
BRE
Гость
« Ответ #3 : Октября 30, 2009, 22:06 »

Нет конечно!
Как декодировать правильно?
Проанализировать заголовок ответа на предмет:
Content-Type: ...; charset=...
Записан
max1983
Гость
« Ответ #4 : Октября 30, 2009, 22:36 »


Цитировать
Проанализировать заголовок ответа на предмет:
Content-Type: ...; charset=...
Предположим уже проагналировал..
как сам текст конвертнуть чтоб в виджетах отображался номально?
Записан
BRE
Гость
« Ответ #5 : Октября 30, 2009, 22:40 »

Предположим уже проагналировал..
как сам текст конвертнуть чтоб в виджетах отображался номально?
На помощь нам приходит чудо-класс QTextCodec.  Подмигивающий
Записан
zenden
Гость
« Ответ #6 : Октября 30, 2009, 22:57 »

А названия кодировок в ответе от сервера и используемые в QTextCodec совпадают?

к тому же не все сервера пишут кодировку в заголовке...
Записан
BRE
Гость
« Ответ #7 : Октября 30, 2009, 23:07 »

А названия кодировок в ответе от сервера и используемые в QTextCodec совпадают?
Не уверен, нужно проверять.

к тому же не все сервера пишут кодировку в заголовке...
Вот при просмотре документов с таких серверов, мы частенько получаем "кашу" на экране и лезем в меню ручной установки кодировки....  Улыбающийся
Записан
max1983
Гость
« Ответ #8 : Октября 31, 2009, 23:50 »

Спасибо решено!
Код:
QByteArray encodedString;
encodedString.append(http->readAll());
QTextCodec *codec = QTextCodec::codecForName("windows-1251");
QString HTML = codec->toUnicode(encodedString);
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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