Доброго времени суток!
Как можно перевести QByteArray с кодировкой cp1251 в QString(т.е. в юникод)?
Замучался уже искать. Пробовал вот так:
QTextCodec *codec = QTextCodec::codecForName("CP1251");
QString str = codec->toUnicode(proc.readAll()); //proc.readAll() возвращает QByteArray
qDebug().noquote()<< str;
И так:
QString convert(char *str, char *from, char *to)
{
QTextCodec* codec = QTextCodec::codecForName(from);
if (!codec) return NULL;
QString unicodeString = codec->toUnicode( str);
if (strcmp(from,to))
{
codec = QTextCodec::codecForName(to);
if (!codec) return NULL;
return codec->fromUnicode(unicodeString);
}
return unicodeString;
}
И ещё много как, но всё равно на выходе кракозябры...
Как быть?
Заранее ОГРОМНОЕ спасибо!
upd Если сделать вот так:
QTextCodec *codec = QTextCodec::codecForName("CP866");
_output = codec->toUnicode(proc.readAll());
qDebug()<<_output;
то при выводе в qmessagebox(или в другой виджет) - всё работает, но в консоли qt creator всё равно кракозябры