Problemi con file e cartelle con nomi contenenti dieresi

5

Ho appena notato alcuni problemi durante l'esplorazione della mia collezione musicale esterna utilizzando Finder, alcune cartelle degli artisti mancavano.

Andando su iTerm e ls ing la cartella ho ottenuto questo come il rapporto iniziale:

ls Music
ls: Maná: No such file or directory
ls: Márta Sebestyén: No such file or directory
ls: Motörhead: No such file or directory
ls: Zoë Keating: No such file or directory

Nota che i nomi degli artisti usano dieresi e Doppi accenti acuti.

Questa è una cartella su una scatola NAS (ReadyNAS 204) via smb, ho anche il backup del NAS che esegue l'accesso a Ubuntu tramite CIFS.

Usando il Finder su OS X El Capitan né il NAS né il backup mostrano queste cartelle. Comunque usando Yosemite posso vedere la cartella Artists ma mancano gli album.

Accedendo direttamente alle caselle tutti i file sembrano essere intatti e SONOS può ancora riprodurli!

Qualche cosa è cambiata in OS X, ho usato max per estrarli dal CD (Snow Leopard), quindi ho dovuto essere in grado di gestire i file ad un certo punto‽

NB:‽ è un interrobang

Aggiorna con qualche informazione in più

Usando rsync dal Mac per copiare musica su USB (OS X Extended Format) vedo cose del tipo:

rsync -av --iconv=utf8-mac,utf8 /Volumes/share/Music/ /Volumes/usbdisk/Music/

file has vanished: "/Volumes/share/Music/.../Márta Sebestyén"
file has vanished: "/Volumes/share/Music/.../Maná"
file has vanished: "/Volumes/share/Music/.../Zoë Keating"
file has vanished: "/Volumes/share/Music/.../Rammstein-2005-Rosenrot-07-Zerstören.flac"

ssh'ing su server Ubuntu e utilizzo di convmv come descritto qui :

cd /mnt/Music
convmv -r -f ISO-8859-1 -t UTF-8 . 

Restituisce:

Starting a dry run without changes...
Skipping, already UTF-8: ./Márta Sebestyén
Skipping, already UTF-8: ./Maná
Skipping, already UTF-8: ./Michael Bublé
Skipping, already UTF-8: ./Zoë Keating
Skipping, already UTF-8: ./Rammstein/1999-Live aus Berlin/Rammstein-1999-Live aus Berlin-10-Bück dich.flac
Skipping, already UTF-8: ./Rammstein/1999-Live aus Berlin/Rammstein-1999-Live aus Berlin-03-Weißes Fleisch.flac
No changes to your files done. Use --notest to finally rename the files.

Sembra che i file principali che hanno problemi siano già utf-8 ma si noti il file "Rammstein-2005-Rosenrot-07-Zerstören.flac" con cui rsync ha avuto problemi non è elencato nel rapporto precedente.

Ho anche usato brew per installare l'ultima versione di rsync 3+ piuttosto che la versione 2.6 utilizzata come predefinita.

brew tap homebrew/dupes
brew install rsync

E poi modifica / private / etc / percorsi per mettere / usr / local / bin prima di / usr / bin

Provare AFP

Abilitando AFP su Ready NAS (OS 6.4.2), beh questo è stato un po 'strano per me. La struttura è Artist/Album/Tracks.flac . Gli artisti sono lì, l'album era lì, espandere l'album per vedere le tracce della cartella Artisti scomparse.

ReadyNASsmb.conf

[global]doscharset=CP1252unixcharset=UTF-8

Informazionicorrelate

Le cartelle non vengono visualizzate nel Finder?
CIFS & Problemi MAC con caratteri speciali nei nomi delle cartelle .

    
posta Munkymorgy 04.04.2016 - 17:56
fonte

1 risposta

1

macOS e Linux usano diversi stili UTF-8. convmv può convertire tra questi due con le opzioni --nfc / --nfd. Sul tuo NAS basato su Linux fai questo:

convmv -r -f UTF-8 -t UTF-8 --nfc  .

Dalla pagina man convmv:

HFS+ on OS X / Darwin Linux and (most?) other Unix-like operating systems use the so called normalization form C (NFC) for its UTF-8 encoding by default but do not enforce this. HFS+ on the Macintosh OS enforces normalization form D (NFD), where a few characters are encoded in a different way. On OS X it's not possible to create NFC UTF-8 filenames because this is prevented at filesystem layer. On HFS+ filenames are internally stored in UTF-16 and when converted back to UTF-8 (because the Unix based OS can't deal with UTF-16 directly), NFD is created for whatever reason. See http://developer.apple.com/qa/qa2001/qa1173.html for defails. I think it was a very bad idea and breaks many things under OS X which expect a normal POSIX conforming system. Anywhere else convmv is able to convert files from NFC to NFD or vice versa which makes interoperability with such systems a lot easier.

Btw: questo succede solo quando trasferisci i tuoi file da una partizione HFS +. APFS non impone più NFD.

    
risposta data 23.11.2018 - 11:13
fonte

Leggi altre domande sui tag