Rolf B: FileZilla verstümmelt JS-dateien

Beitrag lesen

Hallo x51398,

ich habe gerade mal ein schon lang anstehendes Filezilla Update nachgeholt. Und nein - da sind auch in der neuesten Version 3.51 keine Optionen zur Codierungswandlung drin.

Der Unterschied zwischen ASCII und Binary betrifft nur die Zeilenenden. Werden Zeilenenden durch CR+LF, LF+CR, CR oder LF gebildet? Windows verwendet CR+LF, Unix verwendet nur LF, das alte Mac OS hat, wenn ich mich recht erinnere, nur CR verwendet. Filezilla versucht, die Zeilenenden für die jeweilige Zielplattform passend zu machen. Aber von Umlauten lässt er die Finger.

Das Vernichten von Umlauten ist Aufgabe der Zeichencodierung. Die klassische Codierung einer Textdatei verwendet einen Ein-Byte Zeichensatz. Auf Windows heißt der Latin-1 (Codepage 1252), was ISO-8859-1 entspricht. Die Command-Shell von Windows verwendet Codepage 850. Für eine Webseite ist es seit HTML 5 aber verpflichtend, ihre Inhalte UTF-8 codiert als Unicode auszuliefern.

Um das richtig zu machen, muss der Editor richtig eingestellt sein.

Serverseitige Scripte müssen so gebaut sein, dass sie UTF-8 ausgeben. Gerade bei älteren PHP am Server ist das oft nicht so, weil PHP im Kern immer noch auf Latin-1 ausgelegt ist und man scharf achtgeben muss, eine korrekt auf Unicode basierende Server-Anwendung zu schreiben.

Was bei Dir auffällt, ist, dass das ü zunächst korrekt ist (bei "pastetext"), aber dann bei "pastefromword" kaputt ist.

Die Datei wechselt also mittendrin die Codierung; das kann kein Editor dieser Welt auffangen. Sie ist falsch erstellt worden, sie ist mit Editoren bearbeitet worden, die unterschiedliche Codierungen verwenden. Oder von Programmen verändert worden, die unterschiedliche Codierungen verwenden. Du musst die betroffenen Quelldateien reparieren. Es ist kein Problem des Transfers.

Ob für die Abläufe auf der Seite die Codierung in Latin-1 oder UTF-8 die richtige ist, kann Dir von hier aus keiner sagen. Es muss nur konsistent sein.

Rolf

--
sumpsi - posui - obstruxi