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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Кириллица в файле  (Прочитано 2896 раз)
Soulq
Гость
« : Май 19, 2011, 17:59 »

Здравствуйте еще раз. Меня беспокоит еще одна проблема. Как читать файлы с русскими словами? Записывать слова надо как-обычно: в контейнера или массивы, а не во всякие textedit'оры Улыбающийся.
Читал что надо преобразовывать строку в
Код
C++ (Qt)
toUtf8();
не получилось
пробовал стандартное лечение
Код
C++ (Qt)
setlocale(LC_ALL, "Russian");
Еще читал что надо как-то через .data преобразовывать. (предпочел бы как самый запасной выход)
« Последнее редактирование: Май 19, 2011, 18:01 от Soulq » Записан
blood_shadow
Гость
« Ответ #1 : Май 19, 2011, 18:21 »

Читаешь с файла - QByteArray array = device.QIODevice::readAll()
потом устанавливаешь кодек в котором у тебя файл
setCodecForCString(QTextCodec::codecForLocale()); и
QString(array) -тут уже твоя строка в юникоде
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Май 19, 2011, 18:30 »

кодек для Си строк лучше один раз в программе менять и в функции main.

Т.к. чтение текстовых файлов удобнее делать через QTextStream, то для него нужный кодек сразу и устанавливать (до чтения).
см. QTextStream::setCodec(...)
Записан

Юра.
Soulq
Гость
« Ответ #3 : Май 19, 2011, 20:57 »

кодек для Си строк лучше один раз в программе менять и в функции main.

Т.к. чтение текстовых файлов удобнее делать через QTextStream, то для него нужный кодек сразу и устанавливать (до чтения).
см. QTextStream::setCodec(...)
Спасибо, разобрался, поставил Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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