Bonjour,
Après de nombreuses recherches, je m'en remets à vous !
Voici mon souci :
Lorsque j'upload un fichier avec comme nom "écrivain.pdf" , je récupère son nom originaire "écrivain.pdf" et je l'envoie dans un répertoire défini mais lorsque le fichier est envoyé sur le serveur, son nom avec accent change : "écrivain.pdf".
Sinon, si le fichier ne contient pas d'accents dans son titre, tout fonctionne bien.
Voici un bout le bout de code :
Donc, j'envoie bien mon fichier au répertoire défini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Récupère le nom original avant de le sauver $fileName = $file->getClientOriginalName(); //var_dump($fileName); // Envoie le fichier dans le bon répertoire public $PDFDir = $this->container->getParameter('kernel.root_dir').'/../web/info'.$categ->getEnumCateg().'/PDF/'; $file->move($PDFDir, $fileName); //$file->move($PDFDir, $fileName); $post->setItemPDF($fileName);
- En base de données j'ai bien le nom du fichier avec accent
- Sur la vue, pour visualiser le titre du fichier, j'ai bien le nom du fichier avec accent
- Mais sur le serveur (dans le répertoire), le fichier contient des symboles à la place des accents.
Donc lorsque je veux visualiser le fichier l'url demande cà : srvTest/xxxx/xxxx/écrivain.pdf
Mais j'ai un message qui dit que la ressource n'est pas trouvée (ce qui est normal car il attend srvTest/xxxx/xxxx/écrivain.pdf ) : The requested URL /xxx/xxx/écrivain.pdf was not found on this server.
A quoi cela est dû ?
Tout est en UTF8 (Mon IDE Netbeans, php.ini, Apache avec l'httpd.conf).
Auriez-vous une piste ?
J'aimerais dans l'idéal ne pas changer le nom originaire du fichier.
Si je n'ai pas été claire, n'hésitez pas à me reprendre.
Merci beaucoup d'avance,
Partager