Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Q6HKi от Август 16, 2010, 00:42



Название: QByteArray -> UTF8
Отправлено: Q6HKi от Август 16, 2010, 00:42
Добрый вечер.
Никак не могу разобраться с кодировкой. Есть объект QByteArray, который нужно перевести в UTF8 и записать в файл так, чтобы отображались русские символы:
Код:
QHttp http( host );
http.get( path );  //html страница win1251
QByteArray data.append( http.readAll() );

Вот такой код выдает текстовый файл в ASCII, все отображается корректно:
Код:
QDataStream stream(&file);
stream << data;

Разные манипуляции с QString, QTextStream не дали положительного результата. Либо одни NULL и EOT, либо русские буквы кракозябрами. Как же его перекодировать?


Название: Re: QByteArray -> UTF8
Отправлено: Авварон от Август 16, 2010, 08:58
QTextCodec


Название: Re: QByteArray -> UTF8
Отправлено: Q6HKi от Август 16, 2010, 23:36
QTextCodec
Прошу прощения, не экстрасенс, что с ним нужно сделать?


Название: Re: QByteArray -> UTF8
Отправлено: zenden от Август 17, 2010, 01:40
Чтобы прочесть документацию, телепатические способности не нужны.


Название: Re: QByteArray -> UTF8
Отправлено: kowsan от Август 18, 2010, 08:53
Код:
    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));