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

Langage PHP Discussion :

problème avec escape()


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut problème avec escape()
    Bonsoir tout le monde:

    J'ai un problème avec la fonction escape(). elle ne retourne rien si la chaîne des caractères qui lui est passée contient un 'e' accentué par exemple.


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
     
    echo $this->escape("Bébé");       // Ne donne rien
    echo $this->escape("Bebe");       // Donne  : Bebe
    echo "Bébé";                             // Donne  : Bébé
     
    ?>


    D'où ça vient SVp?

  2. #2
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    Bonsoir

    est-ce que ta méthode escape est longue ? est-ce que tu pourrai en donner le code ?

  3. #3
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut
    J'utilise le Zend_framework en "full-stack" :

    Par exemple :
    Dans mon Controller , et à la fin du code de l'action, je déclare une variable $Description :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->view->decription = "Page principale du site";
    sachant que dans mon "layout.phtml" j'ai mis ça à l’intérieur de la balise <head></head>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta name="description" content="<?php echo $this-> escape ($this->decription) ; ?> ">
    Ainsi je peux donner à chaque vue une description différente.
    J'ai fais des tests et je suis sûr que ça vient de escape()

    merci

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Et pourquoi tu poste pas ton message dans le forum Zend. Tu aurais certainement plus de réponses

  5. #5
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Je ne connais pas Zend, cependant, des éé sont des caractères spéciaux, peut être est-ce lié à l'encodage.

    Il y a peut être besoin de définir un encodage à Zend (ou coté Php) quelque part pour que tout ça soit synchro, non ?

  6. #6
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Salut

    Je ne connais pas Zend, cependant, des éé sont des caractères spéciaux, peut être est-ce lié à l'encodage.

    Il y a peut être besoin de définir un encodage à Zend (ou coté Php) quelque part pour que tout ça soit synchro, non ?

    Le problème ne vient pas de Zend. En fin, c'est ce que je pense. Car même en remplaçant escape($this->decription) par escape("Bébé"), le problème persiste.

    Autre chose, si le problème vient de l'encodage, les ennuis seront limités au niveau des caractères spéciaux non? Et il n'apparaitront que lors de l'affichage. Mais dans mon cas, la fonction escape() ne retourne rien si la chaîne des caractères qui lui est passée contient un 'e' accentué par exemple.
    Merci Bcp.

  7. #7
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Car même en remplaçant escape($this->decription) par escape("Bébé"), le problème persiste.
    A mon avis ça revient au même, donc c'est normal qu'on rencontre le même problème.

    si le problème vient de l'encodage, les ennuis seront limités au niveau des caractères spéciaux non? Et il n'apparaitront que lors de l'affichage
    On peu voir ça comme ça.
    Mais c'est une déduction un peu à la hâte.

    Dans le même genre on peu dire aussi que la méthode Objet::escape() à pour but de sécurisé les données, et que s'il y a déjà une incohérence dans l'encodage, par sécurité ça renverrait rien.
    Ca se tient aussi, non ?

    Mais comme je ne connais pas Zend, j'en sais rien.


    Mais dans mon cas, la fonction escape() ne retourne rien si la chaîne des caractères qui lui est passée contient un 'e' accentué par exemple.
    Donc tout porte à croire que c'est le jeu de caractère (encodage) qui causerait problème.
    Enfin, instinctivement.

    Est ce que Zend n'aurait pas une méthode (ou constante) qui renverrait le type d'encodage, tout ça afin de le comparer avec celui de Php.
    C'est peut être pas le même.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    verifie bien l'encodage de ton appli et celle de la vue, par default c'est de l'utf-8

  9. #9
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut
    oui vous aviez raison,
    ça vient de l'encodage effectivement.

    Encore merci une fois de plus.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/11/2014, 08h50
  2. Problème avec le mot clé ESCAPE de DB2
    Par eros dans le forum DB2
    Réponses: 1
    Dernier message: 22/11/2007, 17h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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