Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Чтение .txt файла, сохраненного в кодировке UTF-8
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
aqt
Привет всем!
Есть .txt файл, в котором записаны 4 символа: ӮӰӴӸԊ. Файл сохранен в кодировке UTF-8. При чтении из этого файла, получается какая-то абракадабра

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTranslator translator;
    translator.load("ru", QApplication::applicationDirPath() + "/");
    a.installTranslator(&translator);

    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForLocale(codec);

    QTextStream stream;
    stream.setCodec("UTF-8");

    QFile file ("C:/4.txt");

    if(file.open(QIODevice::ReadOnly))
    {
        stream.setDevice (&file);

        while (!stream.atEnd())
        {
            qDebug() << stream.readLine(); // выводит "?????"

            break;
        }
    }
    else qDebug() << "No open!";

    return a.exec();
}
Litkevich Yuriy
а куда выводишь? в винде в командную строку?
Тогда конвертируй QString к "IBM-866"

QTextCodec *outCodec = QTextCodec::codecForName("IBM-866"); // Добавь
...
qDebug() << outCodec->fromUnicode(stream.readLine()); // Измени
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.