Aller au contenu

Sync : attentions aux accents !


zaporogues

Messages recommandés

Bonjour,

je me suis pris l'offre Amazon illimité à 70 euros par an, et je dois dire que c'est sympa (ça upload plus vite que Hubic)

Mais je me suis aperçu que tout n'était pas synchronisé. Après avoir farfouillé, je me suis aperçu que certains fichiers ou folder qui contenaient une lettre accentuée, mais au format Unicode Mac OSX (le Mac utilise le format Unicode NFD alors que le reste du monde NFC), ne se synchronisait pas.

Seule méthode que j'ai trouvée : file station sous l'interface web, regarder les noms de fichiers, repérer un format Unicode Mac. Par exemple, si le nom contient un é, il faut renommer le fichier, se positionner après le é, faire un premier backspace qui transforme le é en e, puis effacer le e et remplacer par é; et la miracle le fichier se synchronize. On peut faire un copier coller du é en NFD et faire une recherche, pareil pour ç à ï etc... Fastidieux

L'idéal serait d'automatiser le processus, mais php n'accepte pas la fonction normalize qui est idéale pour ça.

Je ne sias pas si ce bug est lié juste à Amazon, ou bien s'il est pour toutes les synchros via cloud Sync

Hope it helps

Lien vers le commentaire
Partager sur d’autres sites

Le problème d'unicode dépend en partie de la manière dont tu copie les fichiers de ton mac vers ton syno. Sur ton mac tu devrais pouvoir changer l'encodage du point de montage (je n'ai pas de mac pour vérifier) et donc forcer les noms à être correctement encodés. De plus l'encodage est géré différemment selon les protocoles (SMB/AFP/NFS/...). En FTP, tu peux le forcer coté syno.

En php, tu as testé mb_convert_encoding ?

Maintenant pour les fichiers déjà présents, essaye de faire le renommage en shell, si ça passe, tu n'as plus qu'à faire un petit script.

Sur un linux "complet" je t'aurai dit de passer par convmv, mais il n'est pas présent sur les syno et que je n'ai rien trouvé d'installé pour faire le taf, je te propose une méthode un peu (:mrgreen:) brute de fonderie pour faire un renommage : rsync.

Pour l'exemple on va dire que tes fichiers sont dans le dossier /volume1/data :

  1. mkdir /volume1/zdata
  2. rsync -a --remove-sent-files --iconv=utf-8-mac,utf-8 /volume1/data/ /volume1/zdata/ && find /volume1/data/. -depth -type d -exec rmdir {} \;
  3. rsync -a --remove-sent-files /volume1/zdata/ /volume1/data/ && find /volume1/zdata/. -depth -type d -exec rmdir {} \;

Tu vas avoir une erreur à cause du ., c'est volontaire pour ne pas effacer le dossier parent (data et zdata). Fais le test avec un petit dossier après avoir fait un backup.

Le 26/09/2016 à 20:14, zaporogues a dit :

Je ne sias pas si ce bug est lié juste à Amazon, ou bien s'il est pour toutes les synchros via cloud Sync

Je pense que c'est un bug dans l'api utilisée par Syno.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.