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 :

[Système] é devient &eacute


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut [Système] é devient &eacute
    Bonjour,

    J'ai une page un formulaire pour saisir des informations. Dans cette page il y a un champ prénom et il est donc possible de saisir des accents. Lorsque ce champ est inséré dans la base MySql depuis ma page php, l'accent é devient &eacute. Dans la base é est stocké &eacute. Cela me pose des problèmes lorque je fait un export vers excell des données de ma table je retrouve &eacute.
    Par contre lorque je relis le contenu de la table depuis une page php l'info est affichée correctment.

    Lorsque j'encode directement depuis phpMyAdmin cela ne pose aucun problème les accent sont bien stocké dans la base.

    Comment faire pour que lorsque on saisie dans une page des accents ceux ne soient pas transformé en &eacute ??

    Merci de votre aide

    Fred

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Dans ton code php quand tu fais l'insertion des données dans la base tu as surement du utiliser htmlentities() ou htmlspecialchars() pour "protéger" des injections SQL ce qui conduit a transformer les caractères spéciaux en HTML justement.
    Il faudrait remplacer ces appels par mysql_real_escape_strings() pour qu'ils s'insèrent correctement dans ta base

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Je n'utilise pas cette fonctionnalité
    Voici un morceau de mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nom=add($formNom);
    $prenom=add($formPrenom);
     
    $requete=mysql_db_query($sql_bdd,"INSERT INTO test VALUES('$nom','$prenom')",$db_link) or die(mysql_error());
    La fonction add est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function add($valeur)
    {
        if (!get_cfg_var("magic_quotes_gpc")) 
        {
            $valeur=addslashes($valeur);
        }
        return $valeur;
    }
    Merci

    Fred

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Je ne vois pas personnellement comment tes caractères spéciaux pourraient.-être convertis en entités tout seul.

    html_entity_decode() pour faire l'inverse.

Discussions similaires

  1. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 18h03
  2. [Système] Vider le Presse Papier
    Par babe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/09/2002, 18h46
  3. IA avec le système de note
    Par scorpiwolf dans le forum C
    Réponses: 4
    Dernier message: 06/05/2002, 13h13

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