Umlauteproblem bei zip-Archiven (Suse vs. Windows)

Antworten
Nachricht
Autor
abjetztneu
Beiträge: 7
Registriert: 14. Aug 2006 10:49

Umlauteproblem bei zip-Archiven (Suse vs. Windows)

#1 Beitrag von abjetztneu » 14. Aug 2006 14:16

Ich habe eine riesen Problem mit Umlauten von Dateinamen bei in Suse 10.1 entpackten (und unter Windows gepackten) ZIP-Archiven.
Folgender Problemablauf mit der Frage, wo ich denn etwas anders machen muss...

1. ich erstelle unter Windows eine Datei mit dem Namen "Umlauteäüödavor.mp3" und zippe diese nun: "Umlauteäüödavor.zip"
2. dieses zip-Archiv kopiere ich dann auf mein Suse 10.1 System. Auch dort finde ich nun die zip-Datei mit Umlauten als "Umlauteäüödavor.zip" vor. nach dem "unzip -d ..." entsteht nun jedoch eine Datei, die in der bash als
"Umlaute???davor.mp3" angezeigt wird (in Nautilus werden die Stellen, an denen eigentlich Umlaute sind einfach komplett weggelassen: "Umlautedavor.mp3")
3. wende ich nun z.B. "convmv -f iso-8859-1 -t utf-8 Umlaute???davor.mp3" an ergibt sich die Ausgabe:

Code: Alles auswählen

convmv -f iso-8859-1 -t utf-8 Umlaute???davor.mp3
Starting a dry run without changes...
mv "./Umlaute„”davor.mp3"      "./Umlaute„”davor.mp3"
d.h. die Umlaute bleiben verschwunden bzw. werden durch komische Zeichen ersetzt.

Würde mich sehr freuen, wenn mir hier jemand mit möglichen Lösungen weiterhelfen könnte.

Grüße,
Bernd

komsomolze
Beiträge: 430
Registriert: 03. Mär 2006 23:16

#2 Beitrag von komsomolze » 15. Aug 2006 14:39

Vielleicht

Code: Alles auswählen

convmv -f cp850 -t iso-8859-1Umlaute???davor.mp3 
mfg komsomolze

abjetztneu
Beiträge: 7
Registriert: 14. Aug 2006 10:49

#3 Beitrag von abjetztneu » 16. Aug 2006 9:08

Ja super, danke! das hilft.
Bleibt nun noch das Problem, dass meine tollen Windowsdateinamen nicht nur Umlaute sondern auch so böse Sachen wie Leerzeichen und Punkte enthalten.
Damit kommt convmv irgendwie nicht zurecht.
Ausgabe:

Code: Alles auswählen

bash: !...-_: event not found
Anführungszeichen ("") um den Dateinamen haben hier leider auch nicht geholfen. Gibt es eine Möglichkeit auch solche Dateinamen mit diesen "Sonderzeichen" zu verarbeiten?

abjetztneu
Beiträge: 7
Registriert: 14. Aug 2006 10:49

#4 Beitrag von abjetztneu » 17. Aug 2006 12:12

Aaah. Ich versteh's nicht. Ein weiterer Test funktioniert doch wieder nicht.

Dateiname unter Windows: DateimitäüöUmlauten.mp3
Dateiname unter Linux (Suse10.1): Dateimit???Umlauten.mp3

Code: Alles auswählen

convmv -f cp850 -t iso-8859-1 'Dateimit???Umlauten.mp3'
file or directory not found: Dateimit???Umlauten.mp3
Ein ls zeigt mir im selben Verzeichnis doch genau diese datei (Dateimit???Umlauten.mp3) an!

wo ist das Problem? wieso kann convmv die Datei nicht finden?

Benutzeravatar
jochen
prolinux-forum-admin
Beiträge: 699
Registriert: 14. Jan 2000 15:37
Wohnort: Jülich
Kontaktdaten:

#5 Beitrag von jochen » 18. Aug 2006 7:07

Kurze Antwort: Quoting. :)

Längere Antwort:
Normalerweise führt die Shell an Deinen Eingaben mehrere Ersetzungen durch. $HOME wird durch "/home/username" ersetzt, *.c durch alle Dateinamen, die auf .c enden usw.
Wenn Du einfache Anführungsstriche (') um einen Text setzt, dann sagst Du der Shell damit effektiv "Finger weg! Diesen Bereich unverändert lassen!" Leider schaltest Du damit auch die Ersetzung ab, durch die Du Dir die Fragezeichen durch die unbekannten Zeichen ersetzen lässt. convmv bekommt dadurch einen Dateiname, der exakt die 3 Fragezeichen enthält - und die gibt es natürlich nicht...

Punkte im Dateinamen sind problemlos, aber Ausrufezeichen können stören, da das für die Shell Bezüge auf History Events sind (man bash, Section HISTORY). Schalte diesen Mechanismus in der Shell am besten ganz aus:

Code: Alles auswählen

histchars=""
Das hält, solange diese eine Shell läuft.

Jochen
Die grösste Lüge der EDV? "Mal eben..."

Antworten