Umlaute in Dateinamen falsch dargestellt
Erstellt von Matthias am 10. Juli 2010
Da Windows nicht UTF-8 verwendet, sondern irgendwas in Richtung iso-8859-x hat man bei der Verwendung anderer Systeme manchmal Probleme mit Umlauten und Sonderzeichen oder Akzenten. Ubunut verwendet den UTF-8 Standard, der solche Zeichen anders kodiert. Wenn man nun Dateien bzw. Ordner mit Windows auf eine Festplatte spielt und diese unter Ubuntu nutzen will, hat man hässliche Kodierungsfehler und am Ende des Dateinamens ein “(ungültige Kodierung)”.
Dies kann man mit den Tools utf8migrationtool oder convmv beheben. Ich habe dazu convmv benutzt. Dies kann einfach via Software-Center oder im Terminal per
sudo apt-get install convmv
installieren.
Man kann in ganzen Ordner- und Dateistruckturen auf einmal, also rekursiv, alle falschen Kodierungen beheben lassen. Convmv steht nur über die Kommandozeile zur Verfügung, das reicht aber völlig aus und sit sehr übersichtlich und gut benutzbar! Folgende Optionen hat convm:
USAGE: convmv [options] FILE(S)
-f enc encoding *from* which should be converted -t enc encoding *to* which should be converted -r recursively go through directories -i interactive mode (ask for each action) --nfc target files will be normalization form C for UTF-8 (Linux etc.) --nfd target files will be normalization form D for UTF-8 (OS X etc.) --qfrom be quiet about the "from" of a rename (if it screws up your terminal e.g.) --qto be quiet about the "to" of a rename (if it screws up your terminal e.g.) --exec c execute command instead of rename (use #1 and #2 and see man page) --list list all available encodings --lowmem keep memory footprint low (see man page) --nosmart ignore if files already seem to be UTF-8 and convert if posible --notest actually do rename the files --replace will replace files if they are equal --unescape convert%20ugly%20escape%20sequences --upper turn to upper case --lower turn to lower case --parsable write a parsable todo list (see man page)
Folgender Befehl ist wohl der Standard Anwendungsfall, wenn man die Daten vom Windows iso-8859-x zu UTF-8 kodieren will:
convmv -f iso-8859-15 -t utf8 -r /Pfad/zur/Datei/oder/Ordner/ --notest
Wenn man sich am Anfang noch nicht ganz sicher ist, sollte man das –notest erst mal weglassen, dann bekommt man alle Änderungen erst mal nur aufgelistet ohne dass diese wirklich vorgenommen werden. Mit –notest werden diese dann schließlich wirklich umgesetzt. Den Pfad muss man noch anpassen, wie gesagt, kann man ganze Ordnerstruckturen oder auch nur einzelne Dateien angeben.
Wenn man sehr große Datenmengen bearbeiten bzw. prüfen lässt, kann dies längere Zeit dauern, einfach abwarten, das Programm hat sich nicht aufgehängt auch wenn es länger keine Meldungen gibt! Es arbeitet grundsätzlich sehr flott und hat bei mir auch mehr als 1TB in weniger als 10 Minuten bearbeitet!
Abgelegt unter Linux, Tutorials, Ubuntu, Windows, ubuntuusers.de | 2 Kommentare »











