Frage: Ich habe einige Dateien unter Windows im Text-Format gespeichert. Diese möchte ich nun im Editor Kedit öffnen, doch dabei werden die Umlaute falsch dargestellt und teilweise auch andere Buchstaben verschluckt. Wie kann ich das vermeiden?
Antwort: Windows codiert Umlaute und Sonderzeichen anders als Linux. Bei Dokumenten aus einer Textverarbeitung spielt das keine Rolle, weil hier das Format eine eigene Codierung enthält.
Auch bei Mails oder Web-Seiten werden unterschiedlich codierte Umlaute in der Regel richtig dargestellt, weil die Header der Dokumente jeweils die Codierung angegeben. In puren Textdateien gibt es jedoch keine Header. Hier müssen Sie die Windows-Umlaute manuell in die Codierung wandeln, die auf Ihrem System installiert ist. Öffnen Sie ein Terminal-Fenster, und ermitteln Sie mit
echo $LANG
zunächst die Codierung Ihres Systems. Sie sehen als Ausgabe etwa »de_DE.UTF-8« oder »de_DE.iso885915«. Den Teil nach
»DE.« benötigen Sie für den recode-Befehl, mit dem Sie die Umlaute umwandeln. Sie fügen ihn dort jeweils nach den zwei Punkten ein. Ein Beispiel:
recode ms-ansi..UTF-8 »datei.txt«
Für »datei.txt« setzen Sie den richtigen Dateinamen ein. Um die Umlaute aller TXT-Dateien in einem Verzeichnis samt Unterverzeichnissen zu korrigieren, verwenden Sie den Befehl:
find . -iname l*.txtl -exec recode ms-ansi..UTF-8 {} \;
Ersetzen Sie auch hier gegebenenfalls »UTF-8« durch die auf Ihrem System gültige Codierung.