Accent php et MySQL [Résolu]

Messages postés
145
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
16 août 2019
- - Dernière réponse : andyajram
Messages postés
145
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
16 août 2019
- 7 mai 2018 à 10:54
Bonjour, je reviens vers vous pour m'aider a trouver une solution , j'ai une page web qui insère des données dans ma base MySQL , lorsque j'insère une ville qui contient un accent , dans la base l'accent apparaît comme un caractère spéciale et quand je fais le select a travers une autre page web aussi j'ai les caractères spéciaux même si je mets le code HTM de conversion et le code qui converti les accents de MySQL , y'a des accents qui se corrige comme (è) mais y'a des accents comme (î , é, ï ... ) ça donne un caractère spéciale , y'a t'il une solution ?
voici mon code d'insertion :
 
<?php
 
 
require('db.php');
include("auth.php");
 
$status = "";
if(isset($_POST['new']) && $_POST['new']==1)
{
$categorie = $_REQUEST['marker_categorie'];
$ville =$_REQUEST['marker_ville'];
$longitude = $_REQUEST['marker_longitude'];
$latitude = $_REQUEST['marker_latitude'];
$desc = $_REQUEST['marker_text'];
 
$ins_query="insert into markers (`marker_categorie`,`marker_ville`,`marker_longitude`,`marker_latitude`,`marker_text`,`marker_actif`) values ('$categorie','$ville','$longitude','$latitude','$desc','Oui')";
mysqli_query($con,$ins_query) or die(mysql_error());
mysqli_set_charset( $con, 'utf8');
$status = "Nouveau Scanner ajouté.</br></br><a href='view.php'>Voir les enregistrements</a>";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ajouter un Scanner</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
 
<div class="form">
<p><b><a href="dashboard.php" style ="font-size: 20px;">Tableau de Bord</a> | <a href="view.php" style ="font-size: 20px;">Voir les Enregistrements</a> | <a href="logout.php" style ="font-size: 20px;">Se déconnecter</a></b></p>
 
<div>
<h1>Nouveau Scanner</h1>
<form name="form" method="post" action="" id="container"> 
<input type="hidden" name="new" value="1" />
<label><b>ID_Catégorie</b></label> 
<p style="color:#FF0000;"><input type="text" name="marker_categorie" placeholder="Entrer la Catégorie" required />*Voir les Catégories à gauche</p>
<label><b>Ville</b></label>
<p><input type="text" name="marker_ville" placeholder="Entrer la Ville" required /></p>
<label><b>Longitude</b></label>
<p><input type="text" name="marker_longitude" placeholder="Entrer Longitude" required /></p>
<a href="https://www.coordonnees-gps.fr/carte/pays/MA"><b>Coordonnées des Différentes Villes au Maroc</b></a> <br> <br>
<label><b>Latitude</b></label>
<p><input type="text" name="marker_latitude" placeholder="Entrer la latitude" required /></p>
<label><b>Description</b></label>
<p><input type="text" name="marker_text" placeholder="Entrer la Description" required /></p>
<p><input name="submit" type="submit" value="Ajouter" /></p>
</form>
<p style="color:#FF0000;"><?php echo $status; ?></p>
</div>
</div>
</body>
</html>

Merci d'avance
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
26137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 août 2019
314
2
Merci
Bonjour
http://www.commentcamarche.net/faq/47069-html-php-caracteres-accentues-et-l-utf8

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 116 internautes nous ont dit merci ce mois-ci

andyajram
Messages postés
145
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
16 août 2019
-
j'ai utilisé tout ça mais rien ne marche
jordane45
Messages postés
26137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 août 2019
314 -
Donc tu as vérifié l'encodage de tes fichiers ? Tu as utilisé quelle logiciel pour ça ?

As tu également changé ta méthode de connexion à la bdd ? mysqli ou pdo ?


NB: Les "anciennes" données ne seront pas corrigées dans ta bdd. Il faudra que tu le fasses manuellement... seuls les nouveaux enregistrements seront pris en compte.
andyajram
Messages postés
145
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
16 août 2019
-
oui oui , j'ai vérifié tout est en UTF8 , j'utilise NotePad , et j'ai inséré de nouveaux enregistrements , MySQLI
jordane45
Messages postés
26137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 août 2019
314 -
Peux tu nous montrer un show create de tes tables ainsi que ton code php et celui de connexion à ta bdd ?
Sachant que le mysqli_set_charset est à faire AVANT les query. pas après comme c'est le cas dans ton code actuel....

Si tu as bien suivi ce qui est indiqué dans le lien... tu ne devrais plus avoir de souci d'encodage....
andyajram
Messages postés
145
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
16 août 2019
-
ouiiiiii tu avais raison , il fallait mettre mysqli_set_charset avant la requête , ça marche maintenant , merci beaucoup
Commenter la réponse de jordane45
Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 août 2019
133
0
Merci
Pour commencer :
mysqli_query($con,$ins_query) or die(mysql_error());

mysql ou mysqli ? tu fais les 2 ici.

Pour l'encodage, il faut que les données entrées soient au format UTF8.
Par ailleurs, je te conseil de manière générale (côté mysql et sa connexion) utf8mb4 qui permet de gérer la totalité du charset (incluant les emojis)

Tu utilises quelle version de PHP, 5 ou 7 ?
andyajram
Messages postés
145
Date d'inscription
vendredi 24 mai 2013
Statut
Membre
Dernière intervention
16 août 2019
-
Bonjour, désolé pour le retard j'avais pas vu le message , j'utilise PHP 5.6
Commenter la réponse de NHenry