Название: [Решено] Qt 5.0.2, проблемы с русским текстом, полученным из html Отправлено: PinkPanther от Декабрь 18, 2013, 07:08 Написал простой парсер и для разминки натравил его на русский сайт, страницы которого в Utf (парсить нужно именно рунет). QRegExp срабатывает и в результате в QPlainTextEdit вылезает список ссылок и анкоров, найденных на странице, но анкоры выглядят вот так:
(http://4twi.ru/russian.jpg) Вот код моего обработчика QNetworkRequest (он возвращает страницу в htmlPage): Код: void MainWindow::getHtmlResults(QNetworkReply * reply) В программе используется русский - русские надписи на кнопках и т.д., но для работы с русским текстом я пока ничего не настраивал, и как настраивать в 5-й версии, не знаю. Подскажите пожалуйста, что нужно сделать или исправить, чтобы русский язык был виден? Название: Re: Qt 5.0.2, проблемы с русским текстом, полученным из html Отправлено: kambala от Декабрь 18, 2013, 10:48 попробуй явно задать имя кодека, раз ты точно знаешь кодировку входящего текста: QTextCodec *utf2 = QTextCodec::codecForName("UTF-8");
хотя содержимое скрина на UTF-8 по-моему не тянет (там обычно все буквы начинаются с 'Р')… Название: Re: Qt 5.0.2, проблемы с русским текстом, полученным из html Отправлено: PinkPanther от Декабрь 18, 2013, 11:07 Спасибо за совет!
Только что решил проблему немного другим путем, вообще без создания кодека. Если кому вдруг понадобится, так выглядит код, дающий нормальный текст с Utf-8 страницы: Код: void MainWindow::getHtmlResults(QNetworkReply * reply) Не уверен правда, что этот код будет корректно работать со страницами в других кодировках. Название: Re: Qt 5.0.2, проблемы с русским текстом, полученным из html Отправлено: Serr500 от Декабрь 18, 2013, 11:15 Не уверен правда, что этот код будет корректно работать со страницами в других кодировках. Более того, можно быть уверенным, что он не будет работать со страницами в других кодировках. ;) Например, он однозначно не будет работать в UTF-16 и в Win1251 при наличии кириллицы.Название: Re: Qt 5.0.2, проблемы с русским текстом, полученным из html Отправлено: PinkPanther от Декабрь 18, 2013, 12:13 Определенно. :) Только с латиницей.
|