Php- prob.apostrophe

the_jb Messages postés 731 Statut Membre -  
the_jb Messages postés 731 Statut Membre -
Bonjour, quand je récupère un nom dans ma base de données par exemple "l'école" et que je veux l'afficher cela m'affiche : " l' "

Un problème de guillemets et d'apostrophes mais je reste bloqué la dessus depuis hier, pouvez vous m'aider !

Merci.

3 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    au moment de l'enregistrement dans la BDD il faut échapper les apostrophes soit par addslashes($_POST['......'])

    soit avec mysql_real_escape_string($_POST['......'])

    cela aura pour effet d'enregistrer dans ta BDD l\'ecole

    au moment de l'affichage tu l'enlèves par stripslashes(....)
    0
    1. Utilisateur anonyme
       
      Bonjour

      J'ai l'impression que tu n'as pas compris le rôle de addslashes lors de l'écriture dans une base de données.
      Ce qui a été ajouté avec addslashes n'est pas enregistré dans la base de données. Ça sert juste à éviter que les apostrophes soient pris pour des fins de chaîne. Donc il n'y a pas lieu de les retirer en sortant les données de la base.
      0
  2. Utilisateur anonyme
     
    Bonjour

    Peux-tu vérifier si les \ supplémentaires sont présents dans ta base ?
    - Si c'est oui, tu as peut-être magic_quotes_gpc à 1 et ce sont les données qui arrivent dans les formulaires qui contiennent ces \'. Il faut alors soit les retirer avec stripslashes avant de mettre tes données dans la base avec mysql_real_escape_string , soit retirer le addslashes que tu as car il est déjà fait quand tu reçois tes données de ton formulaire.
    - Si c'est non, c'est que tu as dû ajouter un addslashes lors de l'affichage, ce qui est une très mauvaise idée. Retire-le.
    0
  3. the_jb Messages postés 731 Statut Membre 58
     
    Ok Merci pour tous. J'ai règlé le problème différement grace au Charset UTF8 et redefinir la base en UTF8.
    0