QFtp und Umlaute

Alles rund um die Programmierung mit Qt
Antworten
Willi2793
Beiträge: 147
Registriert: 29. September 2008 10:59
Kontaktdaten:

QFtp und Umlaute

Beitrag von Willi2793 »

Hallo,

ich habe ein Problem bei dem ich jetzt nicht mehr weiter komme. Ich habe einen FTP mit QFtp erstellt. Das funktioniert auch gut und die Daeien kommen an. Aber wenn sie Umlaute enthalten sind die unkenntlich. Zuerst mal den Teil wie ich das get() aufrufe.

Code: Alles auswählen

		QString fn("file");
		QDir d("localDir);
		file.setFileName(d.absolutePath() + QDir::separator() + fn);
		if (file.open(QFile::WriteOnly)) {
			ftp->get(fn,&file, QFtp::Ascii);
		}
Ein "Ä" sieht dann z.B. so aus: "ä"

Wie bekomme ich denn die Umlaute jetzt korrekt gesetzt?

Grüße,
Willi

P.S.: das 2. Zeichen der Darstellung läßt sich nicht zeigen hier
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

FTP kennt kein Encoding daher kann Qt nichts für. Dein FTP-Server schickt die Dateinamen als utf-8 kodiert, also musst du sie von utf-8 nach QString konvertieren -> QString Doku
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Willi2793
Beiträge: 147
Registriert: 29. September 2008 10:59
Kontaktdaten:

Beitrag von Willi2793 »

"fromUtf8(). Danke. Ich habe den Wald vor lauter Bäumen nicht gesehen. Dadurch das nur die Umlaute durch 2 Bytes dargestellt wurden bin ich ehrlich gesagt da nicht drauf gekommen.

Und es sind die Inhalte, nicht die namen :wink:

Aber wirklich: Vielen Dank!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann hat es aber absolut nichts mit QFtp zu tun... :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Willi2793
Beiträge: 147
Registriert: 29. September 2008 10:59
Kontaktdaten:

Beitrag von Willi2793 »

Das ist wohl richtig. Es hat im Zweifel mit der Codepage des Sytsmes zu tun das die Dateien erstellt.

Aber wenn ich die abgehotlen Dateien nochmal mit "fromUtf8()" bearbeite ist alles wie gewünscht :)
Antworten