Запись в файл в utf-8
Нужно сохранить текст QString в файл в кодировке utf-8. Использую метод .toutf8, однако результирующий файл все равно получается в кодировке ascii, и на плеере, куда я загружаю текстовый файл, русские символы отображаются кракозябрами.
Вот все мои действия: я создают плейлист с помощью аимпа, сохраняю его. Насколько я знаю, сохраняется он в кодировке ascii. Далее открываю программу, загружаю этот созданный плейлист. Моя программа заменяет в нем пути к песням с одинх на другие и сохраняет получивший текст в новый файл.
Код
#include <QTextStream> #include <QCheckBox> #include <QString> #include <QMessageBox> using namespace std; QString PathToFile, WhatReplace1, ReplaceFor1, WhatReplace2, ReplaceFor2, SaveAs1, SaveAs2, SaveAs3, TextNotChanged, Result1, Result2; bool CopyPlayer=1; int radiobutton=0; QString MainWindow::FuncReplace(QString TextNotChangedF, QString WhatReplace, QString ReplaceFor) { int i,j, LenTNC, LenWR; LenTNC=TextNotChangedF.size(); LenWR=WhatReplace.size(); QString Result; for(i=0;i<LenTNC;i++) { QString buffer; for(j=i;j<LenWR+i;j++) { buffer.append(TextNotChanged[j]); } if(buffer==WhatReplace) { Result.append(ReplaceFor); i+=LenWR; } Result.append(TextNotChangedF[i]); } return (Result); }
......
void MainWindow::on_pushButtonStart_clicked() //----------START---------- { ..... //Saving //File 1 QFile Save1File(SaveAs1); Save1File.open(QFile::WriteOnly); QTextStream Save1stream(&Save1File); Save1stream<<Result1; Save1File.close(); //File 2 QFile Save2File(SaveAs2); Save2File.open(QFile::WriteOnly); QTextStream Save2stream(&Save2File); Save2stream<<Result2; Save2File.close(); //File 3 (to player) CopyPlayer=ui->checkBox->checkState(); if(CopyPlayer==1) { QFile Save3File(SaveAs3); Save3File.open(QFile::WriteOnly); QTextStream Save3stream(&Save3File); Save3stream<<Result1.toUtf8(); Save3File.close(); } setting(); }
Как можно добиться того, чтобы получаемый файл был в utf-8?

Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Ua
- Unknown akadamn
- 24 января 2025 г. 17:14
Qt - Тест 001. Сигналы и слоты
- Результат:84баллов,
- Очки рейтинга4
Ua
- Unknown akadamn
- 24 января 2025 г. 16:22
Qt - Тест 001. Сигналы и слоты
- Результат:42баллов,
- Очки рейтинга-8
Последние комментарии
ИМ
Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь Максимов22 ноября 2024 г. 21:51

Evgenii Legotckoi31 октября 2024 г. 23:37
Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов5 октября 2024 г. 16:51
QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Сейчас обсуждают на форуме
f
Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
firstlunoxod15 февраля 2025 г. 13:46

Дмитрий3 февраля 2025 г. 16:24
не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
Добрый день.
Спасибо, получилось. Только еще понадобилось преобразовать строку в QByteArray. Функция теперь выглядит следующим образом:
также "QTextCodec *Codec1251=QTextCodec::codecForName("Windows-1251");" нужно заменить на " QTextCodec *Codec1251=QTextCodec::codecForLocale();", так как кодировка моей системы не Windows-1251, и многая кириллица отображалась некорректно, а какая кодировка используется моей виндой - я не знаю