UTF-8 File lesen und wieder schreiben,...
Verfasst: 3. Juni 2012 17:45
Verwende folgende Methode um ein UTF-8 Text Dokument einzulesen:
und folgende Methode um es wieder, unter einem anderen Namen (und "\r\n" -> "\n" Ersetzung) zu schreiben:
Das Problem ist, nur wenn ich das Dokument unter dem neuen Namen speichere und in einem Editor öffne wird es als ANSI und nicht als UTF-8 codiert angezeigt.
Weiß einer was hier schief läuft und wie man es fixen kann,.. ? (ist sicher was doofes, vor allem bin ich mir sicher das Problem vor ein paar Jahren schon mal gehabt zu haben und damals war es auch irgendeine Kleinigkeit die ich übersehen habe,..)
Cu Selur
Ps.: die ANSI Kodierung kommt vermutlich weil ich das Programm unter Windows laufen lasse, dachte aber eigentlich mit out.setCodec("UTF-8") würde ich UTF-8 als Kodierung setzen,..
Code: Alles auswählen
QString readAll(const QString fileName)
{
QString input = removeQuotes(fileName);
QFile file(fileName);
if (!file.exists()) {
return QString();
}
if (!file.open(QIODevice::ReadOnly)) {
return QString();
}
QTextStream stream(&file);
stream.setCodec("UTF-8");
input = stream.readAll();
file.close();
return input;
}Code: Alles auswählen
int saveTextTo(QString text, QString to)
{
if (text.isEmpty()) {
return -1;
}
text = text.replace("\r\n", "\n");
QFile file(to);
file.remove();
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
out.setCodec("UTF-8");
out << text.toUtf8();
if (file.exists()) {
file.close();
return 0;
}
}
return -2;
}Weiß einer was hier schief läuft und wie man es fixen kann,.. ? (ist sicher was doofes, vor allem bin ich mir sicher das Problem vor ein paar Jahren schon mal gehabt zu haben und damals war es auch irgendeine Kleinigkeit die ich übersehen habe,..)
Cu Selur
Ps.: die ANSI Kodierung kommt vermutlich weil ich das Programm unter Windows laufen lasse, dachte aber eigentlich mit out.setCodec("UTF-8") würde ich UTF-8 als Kodierung setzen,..