Hallo,
nach der Migration eines SuSE Standardserver 8 mit ReiserFS auf ein SuSE 9.3 mit EXT3 stehe ich vor dem Problem, daß auf den Partitionen, auf die die User via Samba-Server Daten abgelegt haben, die Umlaute verschwunden sind.
Unter Windows erscheint statt der Umlaute ein Unterstrich, auf der Konsole erscheint statt des Umlauts ein Fragezeichen.
Die Information darüber, welches Zeichen es ursprünglich einmal war, ist noch vorhanden. Es gab zum Beispiel ein Verzeichnis mit dem Name Überlingen, welches ich auf der Konsole als ?berlingen sehe. Wenn ich aber folgendes eingebe:
server: #stat *berlingen
File: `\334berlingen’
Size: 4096 Blocks: 16 IO Block: 4096 directory
Device: 801h/2049d Inode: 1556584 Links: 19
Access: (0777/drwxrwxrwx) Uid: ( 521/ sa) Gid: ( 100/ users)
Access: 2006-10-10 09:08:09.000000000 +0200
Modify: 2006-09-19 14:26:26.000000000 +0200
Change: 2006-10-09 22:19:55.000000000 +0200
Dann sehe ich also, daß das Ü als \334 kodiert ist.
Hat einer von Euch einen Vorschlag, wie ich ggf. mit Hilfe eines Skripts die Umlaute wieder sichtbar machen kann?
Danke für jeden Tipp und Vorschlag.
Stefan
—
********************************************
in-put GbR – Das Linux-Systemhaus
Stefan-Michael Guenther
Moltkestrasse 49 D-76133 Karlsruhe
Tel./Fax : +49 (0)721 / 83044 – 98/93
http://www.in-put.de
********************************************
Schulungen Installationen
Beratung Support
Voice-over-IP-Loesungen
********************************************
Hallo Reiner,
super, das scheint genau das Tool zu sein, daß ich benötige, aber irgendwie klappt es noch nicht ganz.
Ich habe mir ein Unterverzeichnis ausgesucht, das nur Dateien enthält:
convmv –notest -f latin1 -t utf-8 -r –exec “echo #1 should be renamed to #2” /media/backup/raid1/Projekte/*berlingen/wpd
Der Aufruf läuft durch und sagt mir zum Beispiel für die letzte Datei:
VEP erlingen-Tischvorlage.pdf should be renamed to VEP Überlingen-Tischvorlage.pdf
Doch er tut es nicht. Das Skript erkennt, daß die Datei umbenannt werden soll und der Parameter –notest verhindert laut man page, daß es ein Trockendurchlauf wird, aber am Ende habe ich immer noch die Sonderzeichen.
Habe ich etwas übersehen?
Stefan
Hallo Stefan,
schon mal das –exec… weggelassen ?
Gruß
Reiner
Hi Reiner,
habe ich gerade mal versucht, bringt aber auch keine Änderung.
Dafür ist mir aufgefallen, daß bei jeden Durchlauf ein Fragzeichen mehr dazukommt.
Aus Z?hlerlisten.pdf ist nun Z??hlerlisten.pdf geworden.
Ein
stat Z??hlerlisten.pdf
liefert folgende Ausgabe:
File: `Z\303\244hlerlisten.pdf’
Size: 104411 Blocks: 224 IO Block: 4096 regular file
Device: 341h/833d Inode: 4325397 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 521/ sa) Gid: ( 100/ users)
Access: 2006-10-06 14:18:55.000000000 +0200
Modify: 2004-06-02 10:51:21.000000000 +0200
Change: 2006-10-10 16:36:02.000000000 +0200
Jetzt habe ich im Namen zwei neue Sonderzeichen ???
Irgendwie scheint die Codierung auf diesem System völlig aus dem Ruder zu laufen.
Gruß,
Stefan
Hallo Stefan,
was passiert wenn du eine neue Datei anlegst ?
touch ÖÄÜFile
Gruß
Reiner
Hi,
Bingo! Die Geschichte mit den doppelten Fragezeichen lag (warum auch immer) an meiner Shell. Nachdem ich mich mittels Putty von Windows aus (peinlich, peinlich) mit der Box verbunden hatte, habe ich die konvertierten Umlaute auch gesehen. Mit dem folgenden Befehl kann man dann rekursiv ganze Verzeichnisse korrigieren (die Lösung stammt auch nicht von mir, sondern aus einem anderen Forum[1]):
find /home/guenther | (while read file; do mv -b “$file” “$(echo “$file” | iconv -f ISO_8859-15 -t UTF-8 )” ; done)
Da die User zwischenzeitlich Kopien der Ordner angelegt und mit Umlaut geschrieben hatten, habe ich das mv mit -b versehen und anschließend noch mit “find -name “*~” nach Duplikaten gesucht.
DANKE für die Hilfe, hat mir eine Menge Ärger und Zeit erspart.
Gruß,
Stefan
[1] http://www.linux-club.de/viewtopic.php?p=408996#408996