Url encode

Utf8man -  
 Utf8man -
Bonjour,

Mon probleme : J'ai des liens sur mon site pour afficher des pdf, et les noms de ceux-ci contiennent des accents.
Dans mon code je url_encode($pathpdf);
Quand je clique sur le lien je me retrouve avec une adresse comme-ci
Le+fichier+compl%26eacute%3Btement+faux.pdf 

Et il ne trouve pas l'adresse :/

Anyone silvousplait ?

Merki

7 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut.

    Le+fichier+compl%26eacute%3Btement+faux.pdf
    Apparemment, tu utilises les entités HTML.

    Essaye avec ceci :
    url_encode(html_entity_decode($pathpdf))
    1
  2. Skeletyon Messages postés 1622 Date d'inscription   Statut Membre Dernière intervention   157
     
    Bonjour,

    Simple question. Lors du clique vous faites un envoi vers une page de traitement je suppose?

    Essayez donc un:
    url_decode($_GET['variable']);

    0
  3. Utf8man
     
    En fait pour expliquer toutes les étapes :

    J'ai un fichier de config contenant une variable listant les path menant aux fichier pdf

    Au chargement de la page, je parcours ma variable et j'affiche pour chaque path :
    <a href="$path" target="_blank">Test</a>


    Lors du clic, un nouvel onglet s'ouvre donc contenant le fichier pdf

    Je ne fais pas de traitement de la variable au moment du clic car cela ouvre directement le fichier pdf (via adobe) dans une nouvelle page
    0
  4. Utf8man
     
    Bonjour

    Désolé pour le retard de réponse

    En utilisant ta technique, les é à è etc .. sont bien converti

    Le problème c'est que le fichier auquel je veux accéder se trouve sur le réseau, et que j'utilise un alias pour accéder à ce fichier, donc en gros mon $path est :

    /ALIAS/Repertoire/fichier.pdf


    Ou alias = \\serveur en gros

    Et avec ta technique il n'interprete pas l'alias car d'après moi il convertit le
     /ALIAS
    en
    %2FALIAS
    et donc ne cherche pas a atteindre le /ALIAS

    Aurais-tu une parade pour ce cas particulier ?

    Merci pour l'avancement déja
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utf8man
     
    En fait avec un petit truc ça marche niquel :
    str_replace("+", " ", str_replace("%2F", "/", $path));


    (Oui, les espaces posaient problème aussi ^^)

    Merci de m'avoir bien aidé, A+
    0
  7. Skeletyon Messages postés 1622 Date d'inscription   Statut Membre Dernière intervention   157
     
    C'est vous même qui avez résolu le problème lol

    Mettez donc résolu ^^
    0
  8. Utf8man
     
    J'ai été un peu aidé quand même :p

    Et pour le résolu je ne peux malheureusement pas, n'étant pas un membre enregistré (honte sur moi :s)
    0