Antworten auf deine Fragen:
Neues Thema erstellen

HTML: Zeichensatzdeklaration bei vielen Dateien ändern

jimny1999

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 (&amp; &lt; 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!
 

AW: HTML: Zeichensatzdeklaration bei vielen Dateien ändern

Stefan hat mir mal den altap salamander empfohlen, mit diesem suche n und ersetzen. danach müsste doch auch eine stapelverarbeitung möglich sein, die dateien öffnet und in einem bestimmten format ausgibt. habe kein dreamweaver installiert.
 

jimny1999

Nicht mehr ganz neu hier

AW: HTML: Zeichensatzdeklaration bei vielen Dateien ändern

Vielen Dank schon mal!

Ich werde wohl in mehreren Schritten vorgehen.


1. Alle Sonderzeichen, die nicht in iso-8859-1 vorkommen, per "Suchen und Ersetzen" in HTML-Entities umwandeln. Das lässt sich ganz gut mit Dreamweaver machen.


2. Anschließend alle Dateien unter Linux mit diesem Befehl in utf-8 umwandeln:

find . -name '*.htm' -exec recode latin1..u8 {} \;
(diesen Befehl habe ich mit Google gefunden; ursprünglich ging es dabei um andere (PHP-)Dateien.)


3. Nun noch per Suchen und Ersetzen alle Vorkommen von "iso-8859-1" gegen "UTF-8" austauschen.

Und fertig. Erste Versuche mit diesem Weg sehen schon ganz gut aus. Das Problem ist, die eigentlich ungültigen Zeichen rauszufischen und dabei keins zu vergessen. Wird schon gut gehen.

 

beczka

Noch nicht viel geschrieben

AW: HTML: Zeichensatzdeklaration bei vielen Dateien ändern

Hi,

ich hatte auch mal ziemlich nervenaufreibende Probleme mit der Zeichensatzdeklaration für meine Website, damals hat mir dieser Blogpost hier geholfen: UTF-8 für PHP-Programmierer und Webanwendungen

ich hoffe das hilft dir ein wenig bei der Massenkonvertierung deiner Dateien.
 

jimny1999

Nicht mehr ganz neu hier

AW: HTML: Zeichensatzdeklaration bei vielen Dateien ändern

Danke, beczka,

das ist eine sehr strukturierte Hilfe, sehr schön!

Mein Spezialfall (Nicht bzw. falsch deklarierte Sonderzeichen) ist da leider nicht dabei, aber das lässt sich mit der Umwandlung in HTML-Entities ganz gut lösen. Vielleicht sollte ich die später in UTF-8 zurückwandeln, könnte übersichtlicher sein.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben