Umlaute in Dateinamen falsch dargestellt
Erstellt von Matthias am Samstag 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!
Ähnliche Artikel:




mason sagt:
Ein Programm mit ähnlicher Funktion ist “H2rename”. Es hat zusätzlich noch eine grafisch Oberfläche, geschrieben wurde es steht unter Gnu GPL v3.
http://www.heise.de/ct/artikel/H2rename-Dateien-und-Verzeichnisse-umbenennen-292168.html
FERNmann sagt:
Soweit ich weiß benutzen die neueren Windows-Versionen auch UTF-8. Das es bei Windows 9x -> Linux zu Problemen bei der Kodierung kommen kann ist ja bekannt, aber wie siehts mit XP, Vista und 7 aus? Welches Windows benutzt du denn?
Hans Otto sagt:
Na, ich bin ein wenig skeptisch, da die Umlaute in der Datei wohl erhalten bleiben, und so hatt man Datei und Dateinamen in zwei verschiedenen Formaten, wenn ich das richtig verstanden habe?
Matthias sagt:
Es geht ja erst mal nur darum, dass die Ordnerstruckturen und Ordnerinhalte auf verschiedenen Systemen sauber angezeigt werden. Das Ganze auch auf die zig verschiedenen Dateiformate zu übertragen, halte ich für eher weniger sinnvoll. Denn es wird wohl kaum so ohne weiteres mögloch sein, für jedes Format das passende zu setzen und außerdem müsste das Tool dann ja jedes Dateiformat beherrschen.
Man denke an die Office Dokumente oder ähnliches, ich glaube nicht dass dies sinnvoll ist. Vor allem da die meisten Programme ja auch die unterschiedlichen Zeichensätze beherrscht. Also wieso etwas ändern, was funktioniert.
Oder kennst du ein Tool, dass all dies beherrscht und trotzdem flott und zuverlässig arbeitet?
der grosse Andere sagt:
Fehlerhafte Zeichenkodierung in Dateinamen korrigieren (Archive/Windows)…
Ich habe ab und an das Problem, dass ich hier Archive habe aus denen beim Entpacken Dateien oder Ordner rauskommen deren Sonderzeichen defekt sind. Aus Zeichen wie ö,ä,ü oder ? werden dann solche �. Dateien kann ich meist mit cp kopieren und die Kopie …
Fehlerhafte Zeichenkodierung in Dateinamen korrigieren (Archive/Windows) sagt:
[...] Blogeintrag (http://disfunctions.de/tutorials/umlaute-in-dateinamen-falsch-dargestellt/) hat mich auf der Suche nach einer Lösung für mein Problem ein ordentliches Stück weiter [...]