Пишу программу, которая выводит содержимое файлов. Файлы могут быть в разных кодировках (cp1251, utf8,koi8-r).
Беру файл, открываю на чтение, вывожу некую строку - пока что только так: QMessageBox::information(this,"test",QStringTest); - Мне выводится неразбериха. Для самопроверки пробовал безо всяких файлов - QMessageBox::information(this,"test","Русские буквы"); - та же неразбериха.
Как нужно делать правильно? - Переводчик Linguist, думаю, не поможет- кто знает, что в файл могли написать...
[Qt 4.2.3] Как вывести русский текст из файла?
Модератор: Модераторы разделов
-
Skala
- Сообщения: 241
- ОС: Gentoo
[Qt 4.2.3] Как вывести русский текст из файла?
Спасибо за внимание.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
-
Skala
- Сообщения: 241
- ОС: Gentoo
Re: [Qt 4.2.3] Как вывести русский текст из файла?
Спасибо за внимание.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: [Qt 4.2.3] Как вывести русский текст из файла?
приводить надо в то, что у тебя написано в локали.
слава роботам!
-
Skladnoy
- Сообщения: 90
- ОС: Debian
Re: [Qt 4.2.3] Как вывести русский текст из файла?
А еще есть класс QTextCodec, чтобы не городить обертки вокруг iconv. Сам правда не пробовал с ним работать
The QTextCodec class provides conversions between text encodings
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: [Qt 4.2.3] Как вывести русский текст из файла?
Для него нужно знать кодировку файла.
Типа так:
Код: Выделить всё
tcodec = QTextCodec::codecForName("Windows-1251");
QString text = tcodec->toUnicode(ar);
(ar - QByteArray)Ещё можно посмотреть libenca по поводу распознавания кодировки текста.
В дисгармонии со вселенной.
-
Skala
- Сообщения: 241
- ОС: Gentoo
Re: [Qt 4.2.3] Как вывести русский текст из файла?
Я сделал в комбобоксе выбор кодироки- когда выберет пользователь, то текст будет преобразован.
Спасибо за помощь!
Спасибо за внимание.