Accent php et MySQL

Résolu
andyajram Messages postés 155 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 8 avril 2020 - 4 mai 2018 à 16:56
andyajram Messages postés 155 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 8 avril 2020 - 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

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
4 mai 2018 à 18:33
2
andyajram Messages postés 155 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 8 avril 2020 1
7 mai 2018 à 10:28
j'ai utilisé tout ça mais rien ne marche
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 mai 2018 à 10:32
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.
0
andyajram Messages postés 155 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 8 avril 2020 1
7 mai 2018 à 10:36
oui oui , j'ai vérifié tout est en UTF8 , j'utilise NotePad , et j'ai inséré de nouveaux enregistrements , MySQLI
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 mai 2018 à 10:51
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....
0
andyajram Messages postés 155 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 8 avril 2020 1
7 mai 2018 à 10:54
ouiiiiii tu avais raison , il fallait mettre mysqli_set_charset avant la requête , ça marche maintenant , merci beaucoup
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
4 mai 2018 à 18:41
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 ?
0
andyajram Messages postés 155 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 8 avril 2020 1
7 mai 2018 à 10:12
Bonjour, désolé pour le retard j'avais pas vu le message , j'utilise PHP 5.6
0
Rejoignez-nous