Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Alan от Июль 07, 2004, 13:39



Название: Help! Кодировка DOSовского файла.
Отправлено: Alan от Июль 07, 2004, 13:39
Привет All!

Как  считать DOS - файл, чтобы корректно отображался русский шрифт! У меня он имеет такой вид - ??????????? ???? ???????? ?? ????


Название: Help! Кодировка DOSовского файла.
Отправлено: rjaan от Июль 07, 2004, 15:58
Есть переводная статья к руководству по Qt-2.х, которая называется Поддержка русского языка в Qt-2.x (http://linuxdoc.h10.ru/development/qt-devel-2.3.0/articles/cyr.html). В этой статье описаны методы перевода из одной  кодировки в другую. А лучше статью прочитать всю для полного ознакомления с работой со строками в Qt.


Название: Help! Кодировка DOSовского файла.
Отправлено: Racheengel от Июль 09, 2004, 11:07
для строки я делал QString::fromLocal8Bit(s);
где s - это строка QCString, содержащая текст в ДОС-кодировке
вроде работало...


Название: Help! Кодировка DOSовского файла.
Отправлено: EugeneVC от Июль 09, 2004, 12:08
эт ото у тебя локаль досовская?


Название: Help! Кодировка DOSовского файла.
Отправлено: Racheengel от Июль 09, 2004, 14:37
имеется в виду 8 бит :) а если локаль русская - то по идее 8 бит и есть ASCII...


Название: Help! Кодировка DOSовского файла.
Отправлено: Sergeich от Июль 12, 2004, 18:24
QString txt;
   QFile file( yourDOS_FileName );
   if ( file.open( IO_ReadOnly ) ) {
      QTextStream stream( &file );
      stream.setCodec( QTextCodec::codecForName("utf8") );
      txt = stream.read();
      file.close();
}


Название: Help! Кодировка DOSовского файла.
Отправлено: Sergeich от Июль 12, 2004, 18:31
Пардон, вместо
stream.setCodec( QTextCodec::codecForName("utf8") );

stream.setCodec( QTextCodec::codecForName("IBM 866") )


Название: Читать и записывать файла получилось. Всем спасибо!!!
Отправлено: Alan от Июль 15, 2004, 23:52
Кстати, а как все это безобразие в консольном приложении под Win2000  корректно увидеть?