|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Bonjour,
Voila, j'ai un problème avec mon application PHP. Cet appli sert à partager en ligne des fichiers au sein d'un groupe avec connexion ID/mdp des utilisateurs. Mon problème est qu'un utilisateur peut importer un nom de fichier sur le serveur avec un "é" ou caractère exotique : pas de problème. L'affichage de la liste des fichiers, pas de problème non plus. Mais lorsque l'on essaye de le télécharger via un petit déterminé dynamiquement en php, il remplace le caractère exotique par un Citation:
Merci de votre aide ! Gab |
|
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
C'est un problème d'encodage.
Ton "é" c'est de l'UTF8 que tu affiches dans une page écrite en ISO. Revoit donc l'encodage de tes fichiers .php et de ta page HTML. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Merci de ta réponse !
Mais je n'arrive pas a avoir le lien quand même. J'utilise notepad++, et il me dit que mes fichiers sont en ANSI. Je mets donc "format/ Encoder en UTF8", et réactualise mon serveur. Mais idem, il me remet le "Â" devant, et me rajoute même "" en haut de ma page web. |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 817 ![]() |
Citation:
Donne la partie du script concernée.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Alors je le sais car quand je clique sur le lien il m'affiche sur le navigateur avec l'url : http://xxx.fr/ListeFichiers/Base de donnée Planification edt.sql
Citation:
Code php/html :
$nom='Base de donnée Planification edt.sql'; Code php/html :
<a href="<?php echo 'ListeFichiers/'.$nom; ?>" target=_blank ><img style="border: none; " src="images/download.png"></a> |
|
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 817 ![]() |
Citation:
Une rustine en attendant d'identifier la source réelle du pb : Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||
|
|
00
|
|
|
#7 | |||
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
J'ai changé le <a> avec ce que tu m'as dit, et maintenant j'ai ca comme erreur :
Citation:
Mon tableau vient d'une autre page, passé par une variable SESSION et trié avec la fonction ksort(). Voici le code qui a généré le tableau : Code php :
|
|||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Ah et au final je les encode sous quel format ?
Là, j'ai tout remis en ANSI, pour éviter l'affichage :  |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 817 ![]() |
Oui repasse tes scripts en "ANSI".
Quel est le charset de ton serveur web ? La <meta> Content-Type de tes pages ? Fait un avant l'affichage des liens pour voir si les caractères sont bons. Que donne ceci si tu le colles sur une de tes pages ? Code :
echo utf8_decode('/ListeFichiers/Base de donnée') ;
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
le"utf8_decode('/ListeFichiers/Base de donnée')" affiche cela :
Citation:
Le meta je l'ai pris je sais pas ou je sais pas sil est juste. c'est : Code :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
|
|
|
00
|
|
|
#11 | ||||||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 817 ![]() |
Citation:
Citation:
Essaie ceci : Code :
Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||||||
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Alors, le "echo rawurlencode(utf8_decode($nom));"
me renvoi : Citation:
Ensuite le print_r() renvoi : Code php :
"Array ( [04.11.10 Compte-rendu n°2.pdf] => 240425 [09.12.10 Compte-rendu n°5.pdf] => 185131 [13.10.10 Compte-rendu n°1.pdf] => 137981 [18.11.10 Compte-rendu n°3.pdf] => 271351 [29.11.10 Compte-rendu n°4.pdf] => 224883 [Base de donnée Planification edt.sql] => 98574 [Charte de Projet.docx] => 735898 [Sujet Projet 11.doc] => 27648 ) "
Et le "rawurlencode($nom)" renvoi : Citation:
|
||
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 817 ![]() |
Citation:
Le "%3F" correspond à l'encodage d'un "?" et pas d'un "é". Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Super ! c'est nickel ! j'avais juste oublié le echo comme tu avais dit^^
Je peux ouvrir les fichiers c'est nickel, mais par contre, il y a juste un truc, c'est que dans mes fichiers texte (.sql, .txt) il me remplace tous les accents par des : é et l'url est : htp://xxx.fr/ListeFichiers/Base%20de%20donn%E9e%20Planification%20edt.sql (je sais pas si ca change quelque chose). Elle est donnée quand je clique sur le lien pour télécharger le fichier, et que firefox m'ouvre le fichier dans le navigateur. Merci encore pour ces réponses ! |
|
|
00
|
|
|
#15 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 817 ![]() |
Citation:
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Gabriel GOURRAT Inscription : octobre 2010 Messages : 14 ![]() |
Ok, je vais faire mes recherches pr le reste !!!
et Merci beaucoup !!!!!!!!!!!! A++ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com