SDB:Dateien oder Dateinamen in UTF-8 Kodierung konvertieren
aus openSUSE, der freien Wissensdatenbank
Version: 9.1
Symptom
Umlaute in Dateinamen oder innerhalb einer Datei werden nicht korrekt dargestellt.
Ursache
Seit der SUSE Linux Version 9.1 ist der Systemzeichensatz per Default auf "de_DE.UTF-8" eingestellt. Auch kann es sein, dass Dateinamen von Windowsdateisystemen nicht korrekt angezeigt werden.
Lösung
Für die Umstellung auf UTF-8 Kodierung gibt es die folgenden Lösungsansätze.
Wenn Sie Probleme mit der Darstellung von Dateinamen haben, können Sie diese mit dem Script "convmv" konvertieren. Ein Aufruf sieht z.B. folgendermaßen aus:
sudo zypper in convmv
um das Skript zu installieren.
convmv --notest -r -f latin1 -t utf-8
Falls es um Dateinamen aus Windows geht, kann man deren Dateinamen folgendermaßen ändern:
convmv -r -f cp850 -t utf-8
Obiger Zeile muss ein --notest hinzugefügt werden, wenn die Änderungen auch angewendet werden sollen, ansonsten werden nur die Änderungen angezeigt. Stellen Sie sicher, dass alle Änderungen korrekt angezeigt werden, bevor Sie sie anwenden.
Wenn Sie Probleme mit dem Inhalt von Dateien haben, können Sie diese mit dem Befehl "iconv" konvertieren. Hier wäre ein Aufruf wie folgt:
iconv -f latin1 -t utf-8 dokument.txt >> dokument_neu.txt
Möchten Sie bei der ISO Kodierung bleiben, können Sie dies indem Sie im "YaST Control Center" die Spracheinstellungen bearbeiten. Öffnen Sie im "YaST Control Center" das Modul "Sprache wählen" welches unter "System" zu finden ist. Die aktuell verwendete Sprache ist nach Aufruf des Modules bereits ausgewählt. Klicken Sie hier auf "Details" und deaktivieren in dem nachfolgenden Dialog die Verwendung der UTF-8 Kodierung. Übernehmen Sie die veränderten Einstellungen und beenden YaST.
In den Release Notes der SUSE Linux Version 9.1 finden Sie zu dem beschriebenen Thema folgenden Abschnitt:
UTF-8-Kodierung als Standard
Siehe http://www.suse.de/~mfabian/suse-cjk/locales.html
Nicht-UTF-8-Dateinamen
Dateien in Dateisystemen, erstellt unter 9.0 und älteren Distributionen, verwenden (sofern nicht anders angegeben) nicht-UTF-8-Kodierung für die Dateinamen. Sollten diese Dateien andere als ASCII-Zeichen enthalten, werden sie unter SUSE LINUX 9.1 und späteren Versionen 'zerstümmelt'. Als Lösung kann das convmv-Skript verwendet werden, welches die Kodierung der Dateien nach UTF-8 umwandelt.
Keywords: utf8 | utf-8 | zeichensatz | umlaute | update | charset

