Russian Qt Forum

Qt => Вопросы новичков => Тема начата: mus_zzz от Февраль 01, 2016, 13:28



Название: Вопрос по кракозябрам)
Отправлено: mus_zzz от Февраль 01, 2016, 13:28
Хочу записать в текстовый файл предложение на русском.
Код:
qfFilee_ = new QFile(
                                    QString::number(qdDate_.time().hour())     +
                                    "_"                                        +
                                    QString::number(qdDate_.time().minute())   +
                                    "_"                                        +
                                    QString::number(qdDate_.time().second())   +
                                    "__"                                       +
                                    QString::number(qdDate_.date().day())      +
                                    "_"                                        +
                                    QString::number(qdDate_.date().month())    +
                                    "_"                                        +
                                    QString::number(qdDate_.date().year())     +
                                    "_LOG.txt");

                qfFilee_->open(QIODevice::WriteOnly | QIODevice::Text);
                qtsWriteStream_ = new QTextStream(qfFilee_);
                qtsWriteStream_<<"                                                   Проверка                                                                                                 |";
                qfFilee_->close();   

А получаю кракозябры) Где копать про кодировки подскажите пожалуйста?


Название: Re: Вопрос по кракозябрам)
Отправлено: gil9red от Февраль 01, 2016, 13:45
Хочу записать в текстовый файл предложение на русском.
Код:
qfFilee_ = new QFile(
                                    QString::number(qdDate_.time().hour())     +
                                    "_"                                        +
                                    QString::number(qdDate_.time().minute())   +
                                    "_"                                        +
                                    QString::number(qdDate_.time().second())   +
                                    "__"                                       +
                                    QString::number(qdDate_.date().day())      +
                                    "_"                                        +
                                    QString::number(qdDate_.date().month())    +
                                    "_"                                        +
                                    QString::number(qdDate_.date().year())     +
                                    "_LOG.txt");

                qfFilee_->open(QIODevice::WriteOnly | QIODevice::Text);
                qtsWriteStream_ = new QTextStream(qfFilee_);
                qtsWriteStream_<<"                                                   Проверка                                                                                                 |";
                qfFilee_->close();   

А получаю кракозябры) Где копать про кодировки подскажите пожалуйста?

Всегда начинайте с документации :)
Я про класс QTextStream ничего не знаю, но открыл в гугле доку по нему и нашел (http://doc.qt.io/qt-5/qtextstream.html#setCodec-1):
Код
C++ (Qt)
QTextStream out(&file);
out.setCodec("UTF-8");


Название: Re: Вопрос по кракозябрам)
Отправлено: mus_zzz от Февраль 01, 2016, 13:52
спс  :)