Russian Qt Forum

Qt => Вопросы новичков => Тема начата: helga1917 от Август 27, 2013, 11:29



Название: как считать из .txt файла строку на русском языке?
Отправлено: helga1917 от Август 27, 2013, 11:29
Здравствуйте, надо из текстового файла .txt считать строку на русском языке и вывести в консоль

main.cpp начинается с этого:
Код:
QTextCodec *c = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings (c);   

Код:
QTextStream stream (&file);
QString str = stream.readAll();

//как сделать перекодировку?


Название: Re: как считать из .txt файла строку на русском языке?
Отправлено: Old от Август 27, 2013, 11:40
main.cpp начинается с этого:
Для чего это?

Код
C++ (Qt)
QTextStream stream (&file);
stream.setCodec( "UTF-8" );          // название кодировки, в которой сохранен текстовый файл
QString str = stream.readAll();
 


Название: Re: как считать из .txt файла строку на русском языке?
Отправлено: helga1917 от Август 27, 2013, 12:32
появляются знаки вопроса вместо символов


Название: Re: как считать из .txt файла строку на русском языке?
Отправлено: helga1917 от Август 27, 2013, 12:37
с кодировкой ("windows-1251") все работает

спасибо :)


Название: Re: как считать из .txt файла строку на русском языке?
Отправлено: gil9red от Август 27, 2013, 14:44
потому что у вашего файла была кодировка windows-1251 :)
через notepad++ можно файлы кодировать и смотреть какая кодировка у файла, и лучше кодировать в utf-8 - он много поддерживает языков, кириллицу тоже :)


Название: Re: как считать из .txt файла строку на русском языке?
Отправлено: helga1917 от Август 28, 2013, 07:55
спасибо