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 :

htmlspecialchars qui me pose de gros ennuis


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut htmlspecialchars qui me pose de gros ennuis
    Bonjour,

    Je suis en semie prod (test en grandeur nature) et la fonction htmlspecialchars me cause beaucoup de soucie.

    En prod, j'ai un gros wanring et ca flingue tout:

    C'est ca :

    Warning: htmlspecialchars() expects parameter 2 to be long, string given in...

    J'ai bien lu la doc et sur ma machine de développement je n'ai pas de problème. La syntaxe exact que j'utilise est la suivante:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    define('CHARSET', 'ISO-8859-1');
    define('REPLACE_FLAGS', ENT_XHTML);
    $message = htmlspecialchars($message, REPLACE_FLAGS, CHARSET);

    Je suis obligé de mettre l'iSO-8859-1 sinon les caractères avec accent ne passent pas (sur ma machine de développement). Et en prod j'ai ce gros wanring. Je ne comprends pas bien. J'ai essayé plein de variantes avec mon REPLACE_FLAGS, mais rien ne fait bien : ENT_HTML5, ENT_XHTML, etc.

    Merci.

    PS: ma machine de prod c'est un Linux avec PHP Version 5.3.16

  2. #2
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    J'ai trouvé:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo htmlspecialchars($string);

    doit être remplacé par

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo htmlentities($string, ENT_COMPAT,'ISO-8859-1', true);

    Parce que " As of PHP 5.4 they changed default encoding from "ISO-8859-1" to "UTF-8". So if you get null from htmlspecialchars or htmlentities

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

Discussions similaires

  1. Requête SQL qui me pose problème
    Par CB56 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/02/2007, 16h07
  2. un trait qui me pose problème
    Par barbapapa2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/11/2006, 12h32
  3. Réponses: 1
    Dernier message: 03/09/2006, 23h35
  4. Problème de htmlspecialchars qui ne fonctionne pas
    Par jeremie74 dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2006, 17h40
  5. [PHP-JS] Script qui me pose de grands problemes
    Par MadSoldier dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2006, 21h33

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