LINUX.ORG.RU

[Qt 4.2.3] Как вывести русский текст из файла?


0

0

Пишу программу, которая выводит содержимое файлов. Файлы могут быть в разных кодировках (cp1251, utf8,koi8-r).
Беру файл, открываю на чтение, вывожу некую строку - пока что только так: QMessageBox::information(this,"test",QStringTest); - Мне выводится неразбериха. Для самопроверки пробовал безо всяких файлов - QMessageBox::information(this,"test","Русские буквы"); - та же неразбериха.
Как нужно делать правильно? - Переводчик Linguist, думаю, не поможет- кто знает, что в файл могли написать...


Если нужно вывести на экран строку, которая задана в исходном файле - используй QTextCodec::setCodecForCStrings.

Если же нужно прочитать некий текстовый файл в некоторой кодировке - юзай QTextStream::setCodec.

Кстати, а если не секрет - что за программа? Неужели еще одна "читалка" электронных книг? :)

V_L_A_D ★★
()
Ответ на: комментарий от V_L_A_D

>Кстати, а если не секрет - что за программа? Неужели еще одна "читалка" электронных книг? :)

Хуже: Хочу написать коенвертор для mp3-тэгов. В местной сети движок сайта работает только с mp3-файлами idv1 да еще и в windows-кодировке. Когда-то все теги перебросил в koi8-r, потом перешел на utf-8. В общем, в этой мешанине хотелось бы самому навести порядок. Так и появилась идея написать свой редактор тэгов, который при всем при том группой (для файлов в каталоге) меняет кодировку тэгов. Да еще и в cp1251 неплохо было бы конвертировать ;-)

Skala
() автор топика
Ответ на: комментарий от Skala

Хотя, для твоей задачи более правильным видится использование bash, enconv и какого-нибудь консольного id3 редактора.

Shmuma
()
Ответ на: комментарий от Shmuma

>А чем существующие редакторы id3vX не устраивают? Навскидку: easytag или kid3.

Они устраивают... Мне просто заняться нечем =) . Если серьезно: Давно программировал, хочу вспомнить,- с чего-то полезного надо начать.

Skala
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.