Php- prob.apostrophe

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. 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(....)
    1. 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.
  2. 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.
    1. Ok Merci pour tous. J'ai règlé le problème différement grace au Charset UTF8 et redefinir la base en UTF8.