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
Gruß
Christopher Aicher
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
<!DOCTYPE html>
<html>
<head>
<title>Überschrift</title>
<meta charset="utf-8">
Gruß
Christopher Aicher
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 302900
Url: https://administrator.de/contentid/302900
Ausgedruckt am: 22.11.2024 um 01:11 Uhr
10 Kommentare
Neuester Kommentar
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
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
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!
Manche FTP-Clients haben Funktionen die das automatisiert umwandeln, eventuell ist da was schief gelaufen.
Grüße Uwe
ö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!
Manche FTP-Clients haben Funktionen die das automatisiert umwandeln, eventuell ist da was schief gelaufen.
Grüße Uwe
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
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.
Zitat von @Aicher1998:
Danke.
Wozu kann man dann in Filezilla zwischen
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.Danke.
Wozu kann man dann in Filezilla zwischen
- Automatisch
- ASCII
- Binär
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
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.