Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ Кодировка из Windows1251 в UTF-8

Автор: GambitiK 20.4.2014, 12:52

Ребят помогите,достаю из интернета документ,загоняю его в Qstring , страница была не в UTF 8 а в win1251 и выдает мне такие вещи:

QString fan =(QString)Reply->readAll();

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QByteArray en = codec->fromUnicode(fan);


в переменной Qstring
"<?xml version="1.0" encoding="windows-1251"?><rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">\n<channel>\n<image>\n<url>http://www.adygtv.ru/logo.jpg</url>\n<title>���� "������"</title>\n<link>http://www.adygtv.ru/</link>\n</image>\n<title>������� </title>\n<link>http://www.adygtv.ru</link>\n<description></description>\n<lastBuildDate>Sun, 20 Apr 2014 13:45:58 +0400</lastBuildDate>\n<ttl>60</ttl>\n<item>\n\t<title>� ������ �������� ��������� ������ ���������..."

QByteArray
"<?xml version="1.0" encoding="windows-1251"?><rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">\n<channel>\n<image>\n<url>http://www.adygtv.ru/logo.jpg</url>\n<title>���� "������"</title>\n<link>http://www.adygtv.ru/</link>\n</image>\n<title>������� </title>\n<link>http://www.adygtv.ru</link>\n<description></description>\n<lastBuildDate>Sun, 20 Apr 2014 13:45:58 +0400</lastBuildDate>\n<ttl>60</ttl>\n<item>\n\t<title>� ��..."

мне нужен понятный title

Автор: Анна 23.4.2014, 11:25

Попробуй вставить в main.cpp перед всеми вызовами

QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
QTextCodec::codecForCStrings(codec); // это для строк типа char*   должна помочь в QByteArray
QTextCodec::codecForTr(codec); // это для функции tr()


или почитай документацию на эту тему.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)