Les apostrophe et les guillemets s'affichent mal
Résolu
Airox
Messages postés
157
Statut
Membre
-
Airox Messages postés 157 Statut Membre -
Airox Messages postés 157 Statut Membre -
Salut à tous j'ai un site et une base de données en UTF-8. Mais je viens de rencontrer un problème, lorsque je rentre un texte avec des ' ou des " dans ma base de données il ne s'affiche pas correctement à la place j'ai des ' ou des 5,5' . J'ai supprimé les ENT_QUOTES UTF-8 pour résoudre le problème des ' et là c'est bon mais les guillemets ne marchent toujours pas et maintenant j'ai des " . Avez-vous des solutions?
Cordialement Airox
Cordialement Airox
2 réponses
-
'lut, pourrais-tu nous montrer ton code s'il-te-plait? Du moins celui qui fait les requêtes SQL. Au vu du
5,5'
que tu peux apercevoir, je suspecte que ton code laisse place aux injections SQL: tu peux casser une requête ou exécuter du code depuis le(s) champ(s) de texte sur les pages, et ce5,5'
ressemble fort à un paramètre deLIMIT
.
Si tu utilises les fonctions commençant parmysql_
, tu est bon pour refaire tout ton code SQL avec PDO (ou mysqli): l'extension MySQL est obsolète. Si le site est déjà en ligne, on peux tenter une correction "d'urgence"... avant que tu ne refasses quand même le site avec PDO (ou mysqli...).-
Salut je te donnes le code de mes commentaires et tiens le lien de mes tests pour voir plus simplement le problème et merci pour ta réponse: https://www.hostinger.fr/free-eol?utm_source=fri&utm_medium=www&utm_campaign=free_eol
if (isset($sujet)) $sujet = htmlspecialchars($sujet); if (preg_match("#^.+$#", $sujet)) { if (!preg_match('#^.{1,50}$#', $sujet)) { $erreur_com = "Sujet invalide"; $validation=1; } } else{ $erreur_com = "Mettre un sujet"; $validation=1; } } if (isset($messages)) { $messages = htmlspecialchars($messages); if (!preg_match('#^.+#',$messages)) { $validation = 1; $erreur_com = 'Mettre une description'; } } if (isset($sujet, $messages, $id_pseudo) AND $validation==0){ $req3 = $bdd->prepare('INSERT INTO commentaires(sujet,messages,id_pseudo,id_produit,date_commentaire) VALUES(:sujet, :messages,:id_pseudo ,:id_produit,CURDATE())'); $req3->execute(array( 'sujet' => $sujet, 'messages' => $messages, 'id_pseudo' => $id_pseudo, 'id_produit' => $id_produit )); $validation_com = "Commentaire envoyé"; } -
-
-
En somme, le mettre avant ou après l'insertion ne change rien à part la manière dont est enregistrée ta chaine de caractères: si tu le met avant, les caractères transformés en
"
par ex. seront mis sous cette forme dans la base, et dans l'autre cas il y aura la phrase originale.
En ce qui me concerne je le mettrais après, mais c'est discutable selon les cas. -
-
-