Viser opslag med etiketten karakter kodning. Vis alle opslag
Viser opslag med etiketten karakter kodning. Vis alle opslag

søndag den 3. april 2011

Rsync problem med filnavne

Det virker jo fint med rsync - bortset fra at der var enkelte mapper og filnavne som den nægtede at røre ved - fik eksempelvis fejl som:

rsync: recv_generator: failed to stat "/var/run/usbmount/Seagate_FreeAgent_GoFlex_1/Media/MP3/TV-2/Verdens Lykkeligste Mand/TV2 - P\#345 Fredag Har Jeg Fri.mp3": Invalid or incomplete multibyte or wide character (84)

Det var jo selvfølgelig karakter kodning i filnavnet, den var gal med - lige lidt hjalp det at mounte share på min laptop og ændre navnet - kodningen var stadig forkert.

Fandt svaret på YouTube - man skal bruge programmet convmv (sudo apt-get install convmv).

[embed]http://www.youtube.com/watch?v=YKFL9j-wRKE[/embed]

Jeg vidste kodningen skulle være UTF-8, men der findes åbenbart ingen metode til at finde ud af hvilken kodning det oprindelige filnavn er i - så jeg gættede på at filerne i sin tid kom fra min Windows maskine og dermed måtte det jo være iso-8859-1.

Jeg testede med en enkelt mappe først - i dryrun mode (viser ændringer uden udførsel):
convmv -f iso-8859-1 -t UTF-8 *

Resultatet af dette:

Starting a dry run without changes...
mv "./TV2 - K�rligheden Overvinder Alt.mp3" "./TV2 - Kærligheden Overvinder Alt.mp3"
mv "./TV2 - Mad Og Retf�rdighed.mp3" "./TV2 - Mad Og Retfærdighed.mp3"
mv "./TV2 - P� Fredag Har Jeg Fri.mp3" "./TV2 - På Fredag Har Jeg Fri.mp3"
mv "./TV2 - S�dan Er Det Bare.mp3" "./TV2 - Sådan Er Det Bare.mp3"
mv "./TV2 - Stormfulde H�jder.mp3" "./TV2 - Stormfulde Højder.mp3"
No changes to your files done. Use --notest to finally rename the files.


Altså hedder kommandoen:
convmv --notest -f iso-8859-1 -t UTF-8 *

Eller hvis man er modig - fyrer man kommandoen af på mappeniveau med rekursiv switch:
convmv -r --notest -f iso-8859-1 -t UTF-8 *

Herved bliver alle mapper og filnavne i og under den mappe man står i konverteret - kan anbefale dryrun (uden --notest) første gang, for at se om alle filnavne vil se rigtige ud.