aicher1998
Goto Top

In jeder Datei auf dem Webserver plötzlich doppelter Zeilenumbruch

Hallo

Ich hab ein ganz komisches Problem:
Ich hab plötzlich als ich meine Dateien wieder bearbeiten wollte, in jeder Datei auf dem Webserver plötzlich einen doppelter Zeilenumbruch!!
Soll heißen ich hab nach jeder Codezeile eine Leerzeile!

Wieso?

Was hab ich falsch gemacht?

// EDIT
Ich arbeite nur unter Windows, ich hab zum Erstellen der Dateien Notepad++ verwendet und verwende ihn jetzt auch wieder zum Bearbeiten

Jede der ungewollten Zeilen hat ein CR LF und die gewollten nur CR.
Die Kodierung ist ANSI.

Wenn ich die Dateien mit dem Windows-internen Editor öffne, ist alles in Ordnung face-sad

<!DOCTYPE html>

<html>

<head>

    <title>Überschrift</title>

	<meta charset="utf-8">  


Gruß
Christopher Aicher

Content-ID: 302900

Url: https://administrator.de/forum/in-jeder-datei-auf-dem-webserver-ploetzlich-doppelter-zeilenumbruch-302900.html

Ausgedruckt am: 22.12.2024 um 15:12 Uhr

StefanKittel
StefanKittel 26.04.2016 um 15:46:18 Uhr
Goto Top
Hallo,

das ist mit Deinen knappen Angaben nur schwer zu erklären.

Aber ich habe eine Vermutung.
Unter Linux ist das Zeilenende das Zeichen \n (Line Feed).
Unter Linux ist das Zeilenende die Zeichen \r\n (Carriage Return + Line Feed).

Vermutlich wurden die Dateien mit einem Editor unter Windows bearbeitet der das Zeilenende repariert hat.
Nun bist Du wieder unter Linux und der mag das nicht.

Mit Notepad++ kannst Du das umwandeln.

Stefan
colinardo
colinardo 26.04.2016 aktualisiert um 17:40:34 Uhr
Goto Top
Hi
öffne die Datei mal in einem HEX-Editor, vermutlich wurde einfach ein zusätzlicher Unix-Zeilenumbruch von was auch immer eingefügt. Notepad kann diese einfachen \n nicht als Zeilenumbruch darstellen es braucht dafür ein vorangestelltes Carriage Return \r, Notepad++ stellt diese einzelnen \n jedoch sehr wohl als zusätzlichen Zeilenumbruch dar!

screenshot

Manche FTP-Clients haben Funktionen die das automatisiert umwandeln, eventuell ist da was schief gelaufen.

Grüße Uwe
Aicher1998
Aicher1998 26.04.2016 um 17:46:54 Uhr
Goto Top
Danke.

Ich hab jetzt einfach in allen Dateien "\r\n" durch "\r" ersetzt (mit Notepad++).

Verwendet hab ich FileZilla
colinardo
colinardo 26.04.2016 aktualisiert um 17:54:33 Uhr
Goto Top
Ach jetzt weiß was bei dir schief gelaufen ist, du hast die Dateien nicht im Binary- sondern im Text-Modus heruntergeladen face-smile
Aicher1998
Aicher1998 26.04.2016 um 18:01:08 Uhr
Goto Top
Zitat von @colinardo:

Ach jetzt weiß was bei dir schief gelaufen ist, du hast die Dateien nicht im Binary- sondern im Text-Modus heruntergeladen face-smile
Super! Danke!

Aber im FileZilla ist ja explizit festgelegt, dass einige Dateitypen binär und die die anderen als Text heruntergeladen werden sollen ?!
colinardo
Lösung colinardo 26.04.2016 aktualisiert um 18:04:05 Uhr
Goto Top
Stell alles auf "Binary" damit bist du immer auf der sicheren Seite.
colinardo
colinardo 26.04.2016 aktualisiert um 18:25:50 Uhr
Goto Top
Hier auch noch die detaillierte Erklärung für das Phänomen und warum das beim ASCII-Transfer zwischen unterschiedlichen OS auftreten kann:
https://wiki.filezilla-project.org/Data_Type
Compared to ASCII type, binary type is the easier one: the file is just transferred as-is, and no line ending translation is done.

So when you are not sure what to use, always go for binary type. Nowadays, nearly all (good) text editors can handle the three possible line endings, and other textual files like the ones of scripting languages such as Perl or PHP, as well as XML files (nearly) always work with any line ending as well. 
Aicher1998
Aicher1998 26.04.2016 aktualisiert um 22:42:48 Uhr
Goto Top
Danke.

Wozu kann man dann in Filezilla zwischen
  • Automatisch
  • ASCII
  • Binär
wählen?

Ich hab jetzt mal binär gewählt.

Es waren ja keine verschiedenen OS, ich habs mit Notepad++ unter Windows 10 hochgeladen und auch damit runtergeladen.
Das Linux was ich auf dem Server hab, wird da ja nichts verändern oder?
colinardo
Lösung colinardo 27.04.2016 aktualisiert um 08:52:36 Uhr
Goto Top
Zitat von @Aicher1998:

Danke.

Wozu kann man dann in Filezilla zwischen
  • Automatisch
  • ASCII
  • Binär
wählen?

Ich hab jetzt mal binär gewählt.

Es waren ja keine verschiedenen OS, ich habs mit Notepad++ unter Windows 10 hochgeladen und auch damit runtergeladen.
Les doch mal bitte den Link, dort stehen alle Antworten zu deinen Fragen! Man kann Dateien auf zwei Arten übertragen, einmal im ASCII Modus, oder im Binär-Modus, im Binärmodus werden die Daten so wie sie sind übertragen ohne jegliche Manipulation. Im ASCII/Text Modus dagegen werden die Dateien als Text interpretiert und deren Zeilenenden an das jeweilige OS angepasst, und dabei kann sehr schnell mal was schief laufen.

Das Linux was ich auf dem Server hab, wird da ja nichts verändern oder
Doch das kann es wenn du in ASCII überträgst:
So in case the file is transferred from the client to the server, the client has to make sure CR+LF is used. Therefore it has to add nothing (on Microsoft Windows), add CR (on Unix) or add LF (on legacy MacOS) to each line ending. The server then adjusts the line ending again to what is used on the platform the server runs at. If it is Microsoft Windows, nothing has to be removed, while on Unix the superfluous CR is removed and on legacy MacOS the unneeded LF.
The same happens when a file is downloaded from the server to the client: the server makes sure the line endings are CR+LF when sending the file and the client then strips away whatever is not needed as line ending on its platform.
Aicher1998
Aicher1998 29.04.2016 um 13:08:06 Uhr
Goto Top
Super!
Endlich hab ich das verstanden face-smile
Na dann bleib ich mal bei binär