Russian Qt Forum
Ноябрь 24, 2024, 02:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запись русского текста из QTextEdit в файл  (Прочитано 4160 раз)
Chu
Гость
« : Июль 05, 2016, 12:26 »

Записываю в файл русский текст из QTextEdit
Код:
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
    file.write(codec->fromUnicode(ui->textEdit_logModems->toPlainText()));
    file.close();
Открываю файл и вижу, что вместо заглавных букв и буквы 'я' непонятные символы.
Цитировать
12:12:39 - ”стройство подключено
12:12:40 - ѕодано напр¤жение на все модемы
12:12:40 - «апущена внешн¤¤ программа проверки JTAG-цепи
12:12:46 - ќбнаружено 1 модемов
12:12:46 -  оличество модемов не достаточное дл¤ тестировани¤
12:12:46 - Ќапр¤жение со всех модемов успешно сн¤то
12:12:46 - ѕроверка остановлена. ”стройство отключено
В QTextEdit они отображаются как надо:
Цитировать
12:12:39 - Устройство подключено
12:12:40 - Подано напряжение на все модемы
12:12:40 - Запущена внешняя программа проверки JTAG-цепи
12:12:46 - Обнаружено 1 модемов
12:12:46 - Количество модемов не достаточное для тестирования
12:12:46 - Напряжение со всех модемов успешно снято
12:12:46 - Проверка остановлена. Устройство отключено
12:12:46 - Лог записан в файл
Как исправить?



Записан
GraninDm
Гость
« Ответ #1 : Июль 05, 2016, 12:39 »

Вот это не поможет?
http://stackoverflow.com/questions/26803384/qt-5-encoding-problems-utf-8-windows-1250-windows-1251
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Июль 05, 2016, 12:41 »

на всякий случай проверь еще через hex editor что там реально записано
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Chu
Гость
« Ответ #3 : Июль 05, 2016, 15:33 »

на всякий случай проверь еще через hex editor что там реально записано
Спасибо! Проверил в HEX-editor, в нём всё было правильно. Потом открыл файл в блокноте, и в нём  оказалось все правильно!
До этого открывал файл в Notepad++, в котором видимо была установлена какая-то странная кодировка. Переключил в нём кодировку на windows-1251, проблема ушла.
kambala, спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.