Zeichenkodierungen von Textdateien feststellen und verändern

In der Regel verwende ich für meine Internetseiten den Zeichesatz ISO-8859-1. Das ist der Zeichensatz, der zur Kodierung von Sonderzeichen, wie z.B. ä, ö, ü und ß verwendet wird und für deutsche und in Westeuropa gebräuchliche Sonderzeichen geeignet ist.

Informationen zu diesem internationalen Standard findet man natürlich bei Wikipedia: ISO 8859.

Erstellt man unter Linux in einem Texteditor eine neue Datei, so wird meist nach Standardkonfiguration der Zeichensatz UTF-8 verwendet.

Sowohl in der Apache Konfiguration als auch in der HTML-Datei selbst kann angegeben werden, welchen Zeichensatz eine aufgerufene Webseite verwenden soll. Ist dort nun ISO 8859-1 eingestellt, verwendet man in der hochgeladenen  Textdatei aber UTF-8, so kommt es zu einer Reihe sehr unschöner Fehldarstellungen. Aus einem "ä" wird dann z.B. so etwas hier:  "ä".

Wie kann man nun feststellen welchen Zeichensatz eine erstelle PHP oder HTML Datei verwendet ? Das geht mit dem Programm "utrac".  Das Programm und ein Debian-Paket kann von der Webseite bezogen werden.

Mit dem Befehl

utrac -p <Datei>

kann man sich die Kodierung einer Datei anzeigen lassen.
Gefällt diese Kodierung nicht, kann man sie mit dem kleinen Programm "iconv" ändern.
Die Umwandlung einer Datei von UTF-8 nach ISO-8859-1 erfolgt dann z.B.  mit dem folgenden Befehl:
iconv --from-code=UTF-8 --to-code ISO-8859-1 probe_1.html > index.html
Wer mag kann sich noch ein Shell Script drumherum schreiben, welches automatisch die Kodierung feststellt und eine Umwandlung vornimmt.
Die oben genannten Programme helfen, das Kodierungschaos in den Griff zu bekommen.

1 Gedanke zu “Zeichenkodierungen von Textdateien feststellen und verändern

Schreibe einen Kommentar