Page 1 sur 1

Problème apostrophe dans textarea

Posté : 13 avr. 2010, 12:41
par Tonyloup35
Bonjour,

Lorsqu'un apostrophe ' est tapé dans mon textarea, je le passe dans une basse de données et je l'affiche sur mon site. Le magic_quotes est activé, donc aucun problèmes. Tous les autres caractères accentués sont aussi pris en compte grâce à la fonction htmlentities.
Seulement, lorsque l'on colle un apostrophe comme celui-ci ’, il n'est pas pris en compte par la base de données et coupe de champs textarea, même si du texte est entré ensuite.

Est-ce que quelqu'un a déjà rencontré ce genre de problèmes???

Merci

Re: Problème apostrophe dans textarea

Posté : 13 avr. 2010, 13:23
par stealth35
t'es en UTF-8 partout ?

Re: Problème apostrophe dans textarea

Posté : 13 avr. 2010, 16:29
par AB
Il faut supprimer les slashes si magic_quote est activé puis appliquer mysql_real_escape_string pour protéger la chaine dans la requête.

Typiquement
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);

return $chaine;
} 

if (isset($_POST['textarea'])) 

{
         //suppression des slashes si magic_quotes activé
         $message = Verif_magicquotes($_POST['textarea']);
         
         //connexion à la bdd
         $hostname = "localhost";
         $database = "nom_de_votre_base";
         $username = "root";
         $password = "";
   
         $connection = mysql_connect($hostname, $username, $password) or die(mysql_error());

         // Connexion à la base
         mysql_select_db($database, $connection);
       
        // protection de la chaine avec mysql_real_escape_string
        $message = mysql_real_escape_string($message);
        
        // requête
        $insertion = "INSERT INTO table(texte) VALUES('".$message."')";
         
        // Exécution de la requête d'insertion
        $inser_exec = mysql_query($insertion) or die(mysql_error());



}

Re: Problème apostrophe dans textarea

Posté : 13 avr. 2010, 17:52
par devlop78
Ta sorte de quote là c'est du \x92 ?

As-tu fait quelques tests pour voir si ça venait de HTML->php ou Mysql ?