Nicht mehr ganz neu hier
Hallo,
ich habe hier eine Reihe von Textdateien, die HTML beinhalten. Im <head>-Bereich innerhalb des <html> wurde jeweils folgendes definiert:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
Ich möchte nun gerne alle diese Dateien auf UTF-8 umstellen. Der Grund ist, dass der Ersteller der Dateien einige Zeichen verwendet hat, die in iso-8859-1 überhaupt nicht vorkommen, z.B. das Euro-Zeichen und auch das eine oder andere Zeichen aus dem osteuropäischen Raum. Es wurden keine HTML-Entities verwendet (& < usw. wurden also nicht verwendet).
Wenn ich nun so eine Datei in Dreamweaver CS5 öffne, in den Seiteneigenschaften die Kodierung ändere und die Datei wieder speichere, ist alles so, wie es sein soll. Das ist aber etwas mühsam bei mehr als 5.000 Dateien.
Ich habe es also mal mit "Suchen und Ersetzen" probiert. Klar, die <meta>-Angabe wird überall geändert, aber anschließend stimmt gar nichts mehr, denn die Dateien werden ja nun nicht im Dateisystem als UTF-8 gespeichert, sondern behalten ihre ursprüngliche Kodierung. D.h. in Dreamweaver wird anschließend jeder Umlaut als "?" (negativ in einer Raute) dargestellt.
Vermutlich sind die Dateien unter Windows mit dem Standard-Editor "Notepad" händisch erstellt worden. Wenn ich das richtig weiß, speichert der ja nun seine Dateien als cp-1252 im Dateisystem.
Anschließend wurden die Dateien per FTP im ASCII-Modus auf einen Linux-Server übertragen. Der dort installierte Apache liefert die Dateien korrekt als iso-8859-1 aus.
Danach kamen die Dateien wieder per FTP im ASCII-Modus auf meinen Mac. Hier gab es zum ersten Mal ein Problem, denn der Ersteller der Dateien hat nicht besonders auf die Groß-Kleinschreibung in den Dateinamen geachtet, also habe ich einen Umweg über meine DiskStation genommen, auf der die Dateien auf einem ext3-Dateisystem gespeichert wurden, um erstmal die Sache mit der Groß-Kleinschreibung zu in Ordnung zu bringen.
Als nächstes möchte ich es mit iconv unter Linux versuchen. Hier brauche ich Hilfe. Wie erreiche ich, dass iconv eine Reihe von Dateien öffnet, umwandelt und unter demselben Namen am selben Ort wieder speichert?
Versucht habe ich
iconv -f cp-1252 -t utf-8 *.htm .
das klappt aber nicht.
Für alle Tipps im Voraus schon mal vielen Dank!
ich habe hier eine Reihe von Textdateien, die HTML beinhalten. Im <head>-Bereich innerhalb des <html> wurde jeweils folgendes definiert:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
Ich möchte nun gerne alle diese Dateien auf UTF-8 umstellen. Der Grund ist, dass der Ersteller der Dateien einige Zeichen verwendet hat, die in iso-8859-1 überhaupt nicht vorkommen, z.B. das Euro-Zeichen und auch das eine oder andere Zeichen aus dem osteuropäischen Raum. Es wurden keine HTML-Entities verwendet (& < usw. wurden also nicht verwendet).
Wenn ich nun so eine Datei in Dreamweaver CS5 öffne, in den Seiteneigenschaften die Kodierung ändere und die Datei wieder speichere, ist alles so, wie es sein soll. Das ist aber etwas mühsam bei mehr als 5.000 Dateien.
Ich habe es also mal mit "Suchen und Ersetzen" probiert. Klar, die <meta>-Angabe wird überall geändert, aber anschließend stimmt gar nichts mehr, denn die Dateien werden ja nun nicht im Dateisystem als UTF-8 gespeichert, sondern behalten ihre ursprüngliche Kodierung. D.h. in Dreamweaver wird anschließend jeder Umlaut als "?" (negativ in einer Raute) dargestellt.
Vermutlich sind die Dateien unter Windows mit dem Standard-Editor "Notepad" händisch erstellt worden. Wenn ich das richtig weiß, speichert der ja nun seine Dateien als cp-1252 im Dateisystem.
Anschließend wurden die Dateien per FTP im ASCII-Modus auf einen Linux-Server übertragen. Der dort installierte Apache liefert die Dateien korrekt als iso-8859-1 aus.
Danach kamen die Dateien wieder per FTP im ASCII-Modus auf meinen Mac. Hier gab es zum ersten Mal ein Problem, denn der Ersteller der Dateien hat nicht besonders auf die Groß-Kleinschreibung in den Dateinamen geachtet, also habe ich einen Umweg über meine DiskStation genommen, auf der die Dateien auf einem ext3-Dateisystem gespeichert wurden, um erstmal die Sache mit der Groß-Kleinschreibung zu in Ordnung zu bringen.
Als nächstes möchte ich es mit iconv unter Linux versuchen. Hier brauche ich Hilfe. Wie erreiche ich, dass iconv eine Reihe von Dateien öffnet, umwandelt und unter demselben Namen am selben Ort wieder speichert?
Versucht habe ich
iconv -f cp-1252 -t utf-8 *.htm .
das klappt aber nicht.
Für alle Tipps im Voraus schon mal vielen Dank!