10 votos

Problemas con archivos y carpetas con nombres que contienen diéresis

Acabo de notar algunos problemas al navegar por mi colección de música externa usando el Finder, algunas carpetas de artistas no aparecían.

Ir a iTerm y ls En la carpeta tengo esto como informe inicial:

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

Tenga en cuenta que los nombres de los artistas utilizan diéresis y doble acento agudo.

Esta es una carpeta en una caja NAS (ReadyNAS 204) a través de smb, también tengo una copia de seguridad del NAS que ejecuta Ubuntu acceso a través de CIFS.

Usando Finder en OS X El Capitan ni el NAS ni la copia de seguridad muestran estas carpetas. Sin embargo, usando Yosemite puedo ver la carpeta Artists pero los álbumes no aparecen.

Entrando directamente en las cajas, todos los archivos parecen estar intactos y SONOS puede seguir reproduciéndolos.

Ha cambiado algo en OS X, yo usaba max para ripear estos desde CD's (Snow Leopard) así que tenía que ser capaz de manejar los archivos en algún momento

NB: es un interrobang

Actualización con un poco más de información

Usando rsync desde el Mac para copiar la música en la unidad USB (formato OS X Extended) veo cosas como:

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 en el servidor de Ubuntu y utilizando convmv como se describe aquí :

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

Devuelve :

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.

Parece que los principales archivos que tienen problemas ya son utf-8 pero ten en cuenta que el archivo "Rammstein-2005-Rosenrot-07-Zerstören.flac" con el que rsync tuvo problemas no aparece en el informe anterior.

También utilicé brew para instalar la última versión de rsync 3+ en lugar de la versión 2.6 que se utiliza por defecto.

brew tap homebrew/dupes
brew install rsync

Y luego editar /private/etc/paths para poner /usr/local/bin antes de /usr/bin

Probar la AFP

La activación de AFP en el NAS Ready (OS 6.4.2), bueno esto fue un poco raro para mí. La estructura es Artist/Album/Tracks.flac . Los artistas están ahí, el álbum estaba ahí, al expandir el álbum para ver las pistas la carpeta de Artistas desapareció.

Artist

Album

Artists vanished when trying to view tracks

ReadyNAS smb.conf

[global]
 dos charset = CP1252
 unix charset = UTF-8

Información relacionada

¿Las carpetas no aparecen en el Finder?
Problemas de CIFS y MAC con los caracteres especiales en los nombres de las carpetas .

0 votos

He intentado reproducir tu problema en una máquina virtual ReadyNAS-OS-6.4.2 pero no tengo ningún problema para acceder a un ReadyNAS con nombres de carpetas que contengan diéresis utilizando 10.8-10.11. Supongo que está relacionado con /etc/samba/smb.conf. Por favor, añade el contenido (relacionado con los conjuntos de caracteres) del archivo. ¿También has intentado acceder a las carpetas a través de AFP?

3 votos

El problema es que, en El Capitán, el sistema de archivos sustituye las diéresis por la letra normal seguida de un marcador de diarrea, por lo que hace que de un carácter, digamos "ä" 'LETRA PEQUEÑA LATINA A CON DIAERESIS' (U+00E4) pasen a ser dos caracteres, en este ejemplo "a" 'LETRA PEQUEÑA LATINA A' (U+0061) seguida del marcador de diarrea " " 'DIAERESIS COMBINADA' (U+0308). Esto también es un problema cuando se descarga un archivo con diéresis en su nombre y luego se vuelve a cargar este archivo en el servidor. Entonces, de repente tienes dos archivos en el servidor.

0 votos

¿Hay alguna noticia sobre este asunto? Parece que tengo problemas similares cuando intento copiar y pegar un archivo con diéresis desde un recurso compartido AFP: El Finder las muestra correctamente, pero copiar y pegar no funciona.

6voto

srikanta Puntos 1418

MacOS y Linux utilizan diferentes estilos de UTF-8. convmv puede convertir entre esos dos con las opciones --nfc / --nfd. En su NAS basado en Linux haga esto:

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

De la página man de convmv:

HFS+ en OS X / Darwin Linux y (¿la mayoría?) de los demás sistemas operativos tipo Unix utilizan por defecto la llamada forma de normalización C (NFC) para su codificación UTF-8, pero no la aplican. HFS+ en el sistema operativo Macintosh aplica la forma de normalización D (NFD), en la que algunos caracteres se codifican de forma diferente. En OS X no es posible crear nombres de archivo NFC UTF-8 porque esto se impide en la capa del sistema de archivos. En HFS+ los nombres de archivo se almacenan internamente en UTF-16 y cuando se convierten de nuevo a UTF-8 (porque el SO basado en Unix no puede tratar con UTF-16 directamente), se crea NFD por cualquier razón. Véase http://developer.apple.com/qa/qa2001/qa1173.html para los defaulteadores. Creo que fue una muy mala idea y rompe muchas cosas en OS X que esperan un sistema normal conforme a POSIX. En cualquier otro lugar convmv es capaz de convertir archivos de NFC a NFD o viceversa lo que hace que la interoperabilidad con dichos sistemas sea mucho más fácil.

Por cierto: esto sólo ocurre cuando transfieres tus archivos desde una partición HFS+. APFS ya no aplica el NFD.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X