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