Je vais peut-être pouvoir vous éclairer, pour avoir il y a quelques temps implèmenté du support de l'UTF-8 dans un serveur FTP (oui oui, ce genre de chose arrive...).
En fait la gestion des encodages n'est pas "native" au protocole FTP dans sa version la plus ancienne (définie par la RFC 959
https://www.ietf.org/rfc/rfc959.txt).
Le support de l'UTF-8 se fait via le mécanisme de négotiations de features (commandes
FEAT/OPTS), décrite plus tard (
https://tools.ietf.org/html/rfc2389). Une des options possible (et que tous les serveurs modernes supportent) est l'option UTF8 qui permet d'utiliser de l'UTF-8 sur la Control connection.
Dans un monde idéal, au moment de la connexion, le client demande poliment au serveur les fonctionnalités supplèmentaires qu'il supporte, en utilisante la commande
FEAT :
Commande : FEAT
Réponse : 211-Extensions supported:
Réponse : REST STREAM
Réponse : UTF8 <----- c'est celle-là
Réponse : SIZE
Réponse : MD5
Réponse : LMD5
Réponse : PBSZ
Réponse : PROT
Réponse : 211 end
(ici le serveur supporte aussi des extensions plus exotiques, genre MD5, et comme c'est un serveur FTPS, il y a aussi les commandes spécifiques à FTPS, PBSZ et PROT P)
Ensuite, si le client souhaite utiliser de l'UTF-8, il demande à activer cette option :
Commande : OPTS UTF8 ON
Réponse : 200 OK
Et dans ce cas, tout est bon, le serveur
et le client sont d'accord pour utiliser de l'UTF-8 pour transmettre les noms de fichier.
Ce qui peut faire foirer, c'est par exemple :
- Le client fait directement un gros OPTS UTF8 ON sur un serveur qui ne le supporte pas, sans vraiment lire le retour : le client croit qu'il peut utiliser UTF-8, alors que le serveur ne le supporte pas.
- Le client ne demande pas l'activation d'UTF-8, mais envoie quand même de l'UTF-8 au serveur...
- ... plein d'autres possibilités de bug divers
Bref en tout cas milky01 dans ton cas je vérifierai quand même comment se passe le transfert en FTP, si l'UTF-8 était activé ou pas, et éventuellement wiresharke ça pour voir comment les caractères sont encodés.