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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как считать из файла кирилицу?  (Прочитано 4141 раз)
Vld2
Гость
« : Март 11, 2007, 20:03 »

Как считать из файла кирилицу?
Код:

file.open(IO_ReadWrite);

QTextStream stream( &file );
stream.setEncoding( QTextStream::UnicodeUTF8);
   
 char buffer[256];
 memset(buffer,0, sizeof(buffer));
 int psize = 256;
 file.readBlock(buffer,psize);
 QTextCodec* codec = QTextCodec::codecForContent(buffer, psize);
 printf("\nTEXT%s", buffer);

у меня что-то не пашет
Записан
max-life
Гость
« Ответ #1 : Март 13, 2007, 12:55 »

У меня так: (исходные файлы в utf8)
Код:
	QFile data(m_filename->text());
  if (!data.open(QFile::ReadOnly)) {
  QString rez = QString( "Failed to read data\n");
          QMessageBox::critical( 0, "Equipment", rez );
return;
  }
QTextStream out(&data);
out.setCodec (QTextCodec::codecForName("utf8"));
while (!out.atEnd())
{
query = out.readLine();
...

}
Записан
куягйще
Гость
« Ответ #2 : Март 13, 2007, 13:24 »

У меня так работает:
Код:
void	readLines(const QString & fileName, QStringList &lines)
{
QFile file(fileName);
file.open(QIODevice::ReadOnly | QIODevice::Text);
char buf[256];
while (file.readLine(buf, sizeof(buf)) >-1)
lines.append(QString::fromLocal8Bit(buf).remove("\n").trimmed());
}
Записан
Dodge
Гость
« Ответ #3 : Март 16, 2007, 11:56 »

вообще, можно глобально для транслита задать кодировку, насколько я помню это делается так: QTextCodec::setCodecForTr.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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