Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
1

Русский текст из файла

28.09.2013, 11:43. Просмотров 5375. Ответов 3
Метки нет (Все метки)

Прошу прощения за глупый вопрос. При загрузке текстового файла в textEdit русские символы пишутся кракозябрами. Как исправить это?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2013, 11:43
Ответы с готовыми решениями:

QString и русский текст
Возник вопрос как вывести в метку на форме (QLabel) текстовую строку на русском языке. Вначале...

Post запрос - русский текст
Помогите пожалуйста разобраться QNetworkRequest request; ...

Как прочитать русский текст из Sqlite
Никак не могу понять как вывести из базы данных (sqlite) русский текст ? уже пару часов гуглю эту...

Из Std в QString, русский текст, потеря данных, Qt 5.3.2
Доброго времени суток! Ребят, встретился с такой проблемой, что не получается из std...

3
Elboy
131 / 112 / 11
Регистрация: 01.09.2012
Сообщений: 288
28.09.2013, 15:21 2
C++ (Qt)
1
2
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
textEdit->setText(tr(data));
1
Humanoid
Почетный модератор
10215 / 4007 / 380
Регистрация: 12.06.2008
Сообщений: 11,659
28.09.2013, 18:20 3
Файл читает данные... что бы эти данные представить в виде текста, их надо представить в какой-то кодировке. Например, QFile::read() возвращает QByteArray. Это двоичные данные. Что бы их перевести в QString, нам надо выбрать какую-то кодировку, в которой надо представить эти двоичные данные. Выше был приведён пример для виндовой cp1251... хотя, лично я такой подход не считаю правильным, т.к. tr() предназначен для других вещей.
Что бы использовать любую кодировку можно через QTextCodec::makeDecoder получить экземпляр класса QTextDecoder и через QTextDecoder::toUnicode можно из QByteArray получить QString в любой нужной кодировке.

Если файл сохранён в utf-8, то тут всё гораздо проще и можно воспользоваться QString::fromUtf8.
4
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
28.09.2013, 20:12  [ТС] 4
Премного благодарен!
0
28.09.2013, 20:12
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2013, 20:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Русский текст в Qt5.7.0 для Visual Studio 2015
Собственно, в 4.8 был метод tr(), который начиная с 5-ой версии пофиксили, теперь когда в QString...

Русский текст в консоли ( решение для Qt под Windows )
Хотите русский текст в консоли используя возможности чистого C или C++ но setlocale( ) не помогает?...

Чтение файла и русский текст
Помогите,пожалуйста. Мне нужно,чтобы программа выводила текст из txt в label на русском языке. Но...

Считать из файла русский текст
Всем привет, занимаюсь я программирование не так уж долго, поэтому хочу узнать: Вот например если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.