Seite 1 von 1

readAll - Sonderzeichen in Files

Verfasst: 12. März 2016 12:57
von carre
Hi,

ich verwende um ein ganzes File einzulesen, folgendes:

Code: Alles auswählen

       QString line;
       if (editor_file.open(QIODevice::ReadOnly | QIODevice::Text)) {
       line = editor_file.readAll());
/*
       QTextStream in(&editor_file);
       in.setCodec("ISO 8859-10");
       while(!in.atEnd())
       {
         line += in.readLine()+"\n";
       }
*/     }
Wenn ich mit readAll einlese - werden die Sonderzeichen (ü,ä ..) nicht richtig eingelesen/interpretiert. Mit QTextStream kein Problem (weil ich den Codec setzen kann) - gibt es für readAll auch ne Lösung?

Danke und Gruß
Thomas

Re: readAll - Sonderzeichen in Files

Verfasst: 13. März 2016 18:04
von veeman
QString hat einige from Functionen die dir Behilflich sein können. e.g

Code: Alles auswählen

QString line = QString::fromLatin1(editor_file.readAll());
Oder du verwendest QTextCodec zum expliziten konvertieren.

Code: Alles auswählen

QByteArray encodedString = editor_file.readAll();
QTextCodec *codec = QTextCodec::codecForName("ISO 8859-10");
QString string = codec->toUnicode(encodedString);

[gelöst] readAll - Sonderzeichen in Files

Verfasst: 13. März 2016 19:19
von carre
Danke - passt.

Gruß Thomas