readAll - Sonderzeichen in Files

Alles rund um die Programmierung mit Qt
Antworten
carre
Beiträge: 15
Registriert: 28. Juni 2014 13:59

readAll - Sonderzeichen in Files

Beitrag 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
veeman
Beiträge: 280
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: readAll - Sonderzeichen in Files

Beitrag 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);
carre
Beiträge: 15
Registriert: 28. Juni 2014 13:59

[gelöst] readAll - Sonderzeichen in Files

Beitrag von carre »

Danke - passt.

Gruß Thomas
Antworten