IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

URL accent mobile [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut URL accent mobile
    Bonjour,

    J'ai un petit soucis au niveau des url.
    Je souhaite afficher des fichiers dont les noms contiennent des accents dans des popup, depuis un ordinateur normal, et depuis des téléphone portable.

    Mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $URLFichier = urlencode($URLFichier );
     
    // Retour à la page web avec transfert des données
    return $this->render('ExtrapscBundle:psc:index.html.twig', array('URLFichier ' => $URLFichier ));
    Ma page twig :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <html> 
        <head> 
          	<SCRIPT langage="Javascript">
    	    function ouvre(fichier) {
    		while(fichier.indexOf('é')>-1){fichier = fichier.replace('é', '%E9');}
    		while(fichier.indexOf('à')>-1){fichier = fichier.replace('à', '%E0');}
    		while(fichier.indexOf('â')>-1){fichier = fichier.replace('â', '%E2');}
    		while(fichier.indexOf('è')>-1){fichier = fichier.replace('è', '%E8');}
    		while(fichier.indexOf('+')>-1){fichier = fichier.replace('+', ' ');
    		while(fichier.indexOf('Œ')>-1){fichier = fichier.replace('Œ', '%8C');}
    		while(fichier.indexOf('À')>-1){fichier = fichier.replace('À', '%C0');}
    		while(fichier.indexOf('Á')>-1){fichier = fichier.replace('Á', '%C1');}
    		while(fichier.indexOf('Â')>-1){fichier = fichier.replace('Â', '%C2');}
    		while(fichier.indexOf('È')>-1){fichier = fichier.replace('È', '%C8');}
    		while(fichier.indexOf('É')>-1){fichier = fichier.replace('É', '%C9');
    		while(fichier.indexOf('Ê')>-1){fichier = fichier.replace('Ê', '%CA');}
    		while(fichier.indexOf('Î')>-1){fichier = fichier.replace('Î', '%CE');}
    		while(fichier.indexOf('æ')>-1){fichier = fichier.replace('æ', '%E6');}
    		while(fichier.indexOf('ç')>-1){fichier = fichier.replace('ç', '%E7');}
    		while(fichier.indexOf('ê')>-1){fichier = fichier.replace('ê', '%EA');}
    		while(fichier.indexOf('ë')>-1){fichier = fichier.replace('ë', '%EB');}
    		while(fichier.indexOf('î')>-1){fichier = fichier.replace('î', '%EE');}
    		while(fichier.indexOf('ï')>-1){fichier = fichier.replace('ï', '%EF');}
    		while(fichier.indexOf('ù')>-1){fichier = fichier.replace('ù', '%F9');}
     
    		ff=window.open(fichier,"popup","width=675,height=800,left=30,top=20") 
    	   }
            </SCRIPT>
        </head> 
        <body>
            <a href="javascript:ouvre('{{URLFichier }}')">Lien URL</a>
        </body>
    </html>
    Le problème est que depuis un ordinateur cela marcher très bien, mais pas depuis un téléphone portable.
    URL ordinateur : http://monsite.com/pdf/Bienvenue%20a...l%E9phones.pdf
    URL téléphone: http://monsite.com/pdf/Bienvenue%20aux%20t�l�phones.pdf

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    ça sent la différence d'encodage.
    Et si tu arrêtais d'utiliser les caractères en dehors de la table ASCII pour le nommage de toutes tes ressources ?
    C'est un excellent moyen pour éviter ce genre de désagrément et c'est valable pour beaucoup de domaines en info.
    Le pire que j'ai vu : une base de données avec des tables et champs accentués :

    Au cas où tu persisterais (ce qui est pas bien) : as-tu essayé de protéger ton nom avec un json_encode() ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array('URLFichier ' => $URL.json_encode($NomFichier) )
    Et je pense que du coup tu devrais retirer tes ' ' autour de l'url.
    Enfin, faut faire des essais.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    Merci de me répondre.

    Le json_encode ne marche pas.
    Et malheuresement je n'ai pas le choix il faut qu'il puisse y avoir des accents

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Points : 45
    Points
    45
    Par défaut
    ba du coup j'ai désactivé les liens sur téléphone...

    merci quand même

  5. #5
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Une question toute bête : quel charset tu envois aux clients ?
    Et quel doctype aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nouvelles url pour mobile
    Par Celano dans le forum Débuter
    Réponses: 3
    Dernier message: 30/04/2012, 16h57
  2. [accents] Encodage des url
    Par MorganStern dans le forum Langage
    Réponses: 8
    Dernier message: 15/06/2007, 16h51
  3. Probleme d'accent et d'url
    Par snipes dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/05/2007, 17h55
  4. Conversion accents sur URL
    Par pierre50 dans le forum Langage
    Réponses: 8
    Dernier message: 09/12/2006, 10h53
  5. [FLASH MX2004] Variable URL vers FLASH et accents
    Par daner06 dans le forum Flash
    Réponses: 1
    Dernier message: 25/07/2005, 22h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo