DOS-Steuerzeichen in Unix Wandeln

Peter Schneider

Legendäres Mitglied
Mein Hosting-Provider nennt als Fehlerursache für unkorrekt ausgeführte SSI-Includes, dass meine Dateien Dos-Steuerzeichen enthalten.

Kennt jemand ein Tool, das diese Steuerzeichen von Dos zu Unix umwandelt? Möglichst gleich für einige tausend Dateien. Am liebsten wäre mir z.B. integriert in ein SFTP-Programm.
 
die meisten editoren haben diese option eingebaut.

auf den meisten linuxservern ist das tool dos2unix schon installiert.
eingabe auf der befehlszeile: dos2unix dateiname

online kannst du das hier machen:
http://www.iconv.com/dos2unix.htm

nur welches ftp-programm diese option integriert hat, das weiß ich jetzt leider nicht.
 
Hallo, danke!

Ich übermittle ständig wieder mal ein File von zu Hause und update auch. Ich habe die Option "speichern als Unix" tatsächlich im Text-Editor vorliegen und so wie ich das sähe, wird ein Unix-File von meinen Win-Programmen nach dem Öffnen auch wieder als Unix zurückgespeichert.

Das Problem ist der Batch an 5000 Dateien, die zu konvertieren sind.

Oder aber dos2unix gleich für den ganzen Webspace? Aber dann bei jedem File wieder dieses Kommando, da bin ich schon sehr vergesslich und würde bevorzugen, gleich alle Files zu Hause konvertieren zu können!

Grüsse

 
Ich kenne mich zwar mit SSI nicht aus - nutze das nicht.

Aber zwei Überlegungen:

- Gibt es nicht eine Option beim SSI-Verarbeiten / Apache, mit der man das direkt lösen kann?

- Beim FTP gibt es die sehr alte Option der ASCII-Übertragung. Eigentlich nutzt man die heute kaum, weil die für Bilder, Zip-Dateien u.ä. gänzlich ungeeignet ist. Aber bsp. laut diesem Text von 1994 müßten FTP-Programme mit dieser Option das automatisch richtig machen - nämlich die Zeilenwechsel korrekt ins Zielsystem konvertieren.
 
Ich muss mal in den Tiefen meines SFTP Clients nachforschen bzw. diesen ersetzen. Ich nutze eigentlich "automatic" zur Übermittelung... Wobei mir jetzt gerade auffällt, dass ein File-Typ dort nicht erscheint - unter "Text": "*.shtm". Danke für den Tipp!

Wegen dem Fehler:
Laut Aussage meines Providers, die ich mittlerweile nachgeprüft habe, liegen in meinen Files DOS-Steuerzeichen vor, und so wie ich das sähe, gibt es bei mir in etwa einem Promille der Aufrufe dieser Files vom Server wirklich Probleme.

Das heisst, die SSI-Includes zeigen einfach ins Leere bzw. es wird sogar die falsche Datei includiert (meistens die Index). Nur passiert das lediglich in jedem tausendsten File, obwohl alle meine Files dos-encodiert sind.

Ich weiss nicht, weshalb der Apache aus dem Tritt kommt, aber er macht es, und es ist besonders ärgerlich, da Dateien davon betroffen sind, die jahrelang Ihren Dienst gemacht haben und nach einem Update dann plötzlich Menus und Footers nicht mehr includiert werden.

Wenn aber der Fehler auftritt, dann permanent! Da kann man das File zigmal rüberkopieren, es ändert sich nichts.

Was positive Auswirkungen hat:
a) File als Unix-Text-File speichern
b) Länge des Files verringern.
 
Ich rätsele seit dem ersten Lesen des Beitrags, was dein Hoster wohl mit DOS-Steuerzeichen meint.

Bis jetzt hatte ich an die verschiedenen Varianten für eine neue Zeile gedacht - aber vielleicht meint dein Hoster damit etwas anderes.

Wenn natürlich irgendwie der Zeichensatz falsch ist (es wird bsp. UTF-8 oder UTF-16 geschickt), dann bricht ein String ab - und '/' wird geladen. Oder eine Datei startet mit einem BOM - und das wird nicht richtig verstanden.

Oder stelle eine kritische Datei mal zur Verfügung.
 
Ja, ich habe da ein paar Dateien zugeschickt. Ich habe auch an "verschiedenen Varianten für eine neue Zeile" gedacht...

Von drei Dateien, die jetzt korrekt zu Unix umgewandelt wurden, laufen mittlerweile schon zwei... die Dritte haben Sie erhalten...

Na ja: gute Nacht...

 
Die per Mail zugeschickten Dateien sind völlig harmlos.

Konsistent als ASCII, irgendwo ist mal ein 'ü' drin, aber das sollte nichts machen.

Die einzigste verbleibende Idee ist, daß der Webserver beim Include eine Datei als UTF-8 erwartet und deshalb mit dem 1-Byte-Zeichen 'ü' als ASCII nicht klarkommt.

Oder der Hoster hat an dieser Stelle eine Einstellung geändert. Allerdings ist das nur Raten, da ich weder SSI nutze noch die Feinheiten der Konfigurationsmöglichkeiten für den Apache kenne.

Wenn das über lange Zeit lief und jetzt plötzlich nicht mehr läuft, dann könnte irgendeine Änderung beim Hoster dafür verantwortlich sein. Im Rahmen einer Internationalisierung Umstellung auf UTF-8 als Standard - und schon knallen alle ASCII-Dateien mit Umlauten.
 
Hallo!

Das primäre Übel habe ich gelöst (mit dem S-FTP-Client).

Die Fehlerquelle mit den Sonderzeichen muss ich wohl im Auge behalten, vor allem wenn es um das Deutschsprachige Angebot geht... Aber dann weiss ich schon mal, wo zu suchen ist!

Wegen dem Provider: habe ihm den Link zum Thread geschickt. Wir hatten den gleichen Fall schon mal vor einigen Monaten, da haben wir leider die Ursache noch nicht erkannt.

Nochmals herzlichen Dank! Du hast mir entscheidende Tipps geben, die mir mein Leben vereinfachen!

Grüsse
 
Zurück
Oben