Insertion BDD et caractères spécieaux

Ce sujet est résolu
5801
,

Salut à tous

J'ai suivi le tuto pour créer des news. Et tout marche bien. Seulement lorsque j'essaye d’insérer du contenu avec des virgules accents et autres.

L'insertion ne ce fait pas et je me cogne une erreur SQL.

Il semblerait que la solution viennent des fonctions, htmlentities() et html_entity_decode(). Mais je n'arrive pas à l’intégrer à mon code.

<?php
if(!empty($_POST)){ 
    extract($_POST);


   $sql = "UPDATE articles,articles_options  
SET nom='$nom' , dsc='$dsc' , url='$url' ,quantites='$quantites' ,ref='$ref' , images='$images' ,prix='$prix' ,dispo='$dispo' ,poids='$poids' 
WHERE articles_options.id = articles.articles_options_id 
AND articles.id=$id";
    $req = mysql_query($sql) or die ('Erreur SQL ! <br />').$sql. '<br/>'. mysql_error();


    echo "Articles modifiee";
    $_GET"id"]=$id;


}
    $sql="
    SELECT * FROM articles 
    INNER JOIN articles_options 
    ON articles_options.id = articles.articles_options_id 
    WHERE articles.id={$_GET'id']};";    
    $req = mysql_query($sql) or die ('Erreur SQL ! <br />').$sql. '<br/>'. mysql_error();
    $data= mysql_fetch_assoc($req);
?>
   <form class="ad" method="post" action="edit"/>
   <form class="ad" method="post" action="edit"/>
                    <input name="id" type="hidden" value="<?php echo $data"id"];?>"/>
                    <label for="nom">Nom :</label>
                   <input type="text" name="nom" id="nom" value="<?php echo $data"nom"];?>"/><br/>


                    <label for="dsc">Description :</label>
                    <textarea name="dsc" id="dsc" ><?php echo $data"dsc"];?></textarea><br/>


                    <label for="url">URL</label>
                    <input type="text" name="url" id="url" value="<?php echo $data"url"];?>"/><br/><br/><br/>


                    <label for="quantites">Quantités</label>
                    <input type="text" name="quantites" id="quantites" value="<?php echo $data"quantites"];?>"/><br/>


                    <label for="nom">Reference :</label>
                    <input type="text" name="ref" id="ref" value="<?php echo $data"ref"];?>"/><br/>


                    <label for="images">Images :</label>
                    <input type="text" name="images" id="images" value="<?php echo $data"images"];?>"/><br/>


                    <label for="prix">Prix :</label>
                    <input type="text" name="prix" id="prix" value="<?php echo $data"prix"];?>"/><br/>


                    <label for="dispo">Disponibilite</label>
                    <input type="text" name="dispo" id="dispo" value="<?php echo $data"dispo"];?>"/><br/>


                    <label for="poids">Poids</label>
                    <input type="text" name="poids" id="poids" value="<?php echo $data"poids"];?>"/><br/>
                    <br/>


                     <input type="submit" value="Modifiez">


<a href="<?php echo WEBROOT ?>articles/articles">Retour au articles du magasin</a>

2 Réponse

Default
,

Essaie d'utiliser PDO en général, le reste est plus ou moins obsolète donc peut être que ce n'est pas censé gérer l'encodage UTF-8. Vérifie aussi l'encodage des champs dans ta base (colonne Interclassement). Ce que je met tout le temps c'est utf8_general_ci ou utf8_unicode_ci.

5801
,

Effectivement j'ai modifié l'encodage dans la base est ça marche merci à toi !! :) :)