«
»


UTF-8 in ISO-8859-1 wandeln

Konvertierung einer Zeichenkodierung in eine andere

Zeichenkodierung mit iconv umwandelnIch hatte gerade den Fall, dass eine Datei in einem Webverzeichnis aus irgend einem Grund UTF-8-kodiert war und deutsche Umlaute im Browser recht merkwürdig angezeigt wurden. Zum Beispiel zeigte sich ein kleines ü als "ü" und ein ß als "ß". Unschön, nicht wahr!? Die Zeichenkodierung, das Character encoding, entspricht einfach nicht dem, was gewünscht ist…

Abhilfe hätte sicherlich der Download der Datei, dann die Umwandlung in einem Editor (z.B. PSPad) oder dem Windows-Tool Iconv und der erneute Upload gebracht. Da es aber einfach mal schnell gehen musste und ich keine Lust zum Suchen und das Ersetzen in die jeweiligen HTML-Kodierungen (ü bzw. ß) hatte, musste eine andere (Kommandozeilen-)Lösung her. Ich stieß schnell auf iconv, was wohl auf allen aktuellen Linux-Installation standardmäßig bereits installiert sein dürfte.

Die Syntax für die Anwendung ist recht simpel gehalten; die folgende Zeile wandelt die Datei index_utf8.html von UTF-8 in ISO-8859-1 um und speichert diese unter den Namen index_iso.html im selben Verzeichnis ab.

iconv --from-code=UTF-8 --to-code=ISO-8859-1 ./index_utf8.html > ./index_iso.html

Natürlich funktioniert das nicht nur zwischen UTF-8 und ISO-Kodierungen oder umgekehrt. Der Befehl iconv -l liefert eine ganze Reihe von Zeichensatzkodierungen, wobei allerdings nicht jede Kodierung in eine andere umwandelbar ist.

Die Hilfe zeigt wieder einmal recht gut, wie es funktioniert und welche Parameter was bewirken iconv --help liefert die folgenden Informationen:

Aufruf: iconv [Option...] [Datei...]
Kodierung von Dateien in eine andere Kodierung konvertieren.
Beschreibung des Ein-/Ausgabe-Formates:
-f, --from-code=NAME Kodierung für den ursprünglichen Text
-t, --to-code=NAME Kodierung für die Ausgabe
Informationen:
-l, --list Alle bekannten Zeichensatz-Kodierungen ausgeben Ausgabesteuerung:
-c Ungültige Zeichen von der Ausgabe ausgelassen
-o, --output=FILE Ausgabedatei
-s, --silent Warnungen unterdrücken
--verbose Informationen über den Bearbeitungsstand ausgeben
-?, --help Diese Hilfe ausgeben
--usage Kurzen Bedienungshinweis ausgeben
-V, --version Die Programmversion ausgeben
Obligatorische oder optionale Argumente von langen Optionen sind ebenfalls
obligatorische bzw. optionale Argumente für jede zugehörige kurze Option.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

Kommentar abgeben




Kommentar (*)

Folgende Tags können verwendet werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(*) erforderliche Angaben