Здравствуйте. у меня возникла проблема с кодировкой IBM 866.получаю по сети данные в этой кодировку. делаю следующее преобразование
QTextCodec *codec= QTextCodec::codecForName("IBM 866");
  QString str,str2;
  str2=codec->toUnicode(arr);// arr - полученные данные в QByteArray
  str2.toUpper();
  for(int j=i;j<arr.size()-2;j++)
   {
      str.append(str2.at(j));
   }
   ui->TEatgs_pole->setText(ui->TEatgs_pole->toPlainText()+str);//QTextEdit
на экран выводятся русские буквы, только почему-то заглавные все. А когда я пытаюсь считать информацию из этого окна и вывести количеств символов в строке то получаю нелепые значения
считаю буквы в текст эдите так:
QString str;
    str=ui->TEatgs_pole->toPlainText();
    ui->Eatgs_znakov->setText(QString().setNum(str.size()));// QLineEdit
если я в это же окно ввожу текст с клавиатуры, то количество символов выводится верно.
Работаю в Windows. в майне прописан кодек UTF-8.