Mauvais encodage requête sql
Utilisateur anonyme
-
sebsauvage Messages postés 33415 Statut Modérateur -
sebsauvage Messages postés 33415 Statut Modérateur -
bonjour
j'utilise les pages dynamiques de dreamweaver mx, et easy php pour une application. j'ai la surprise de m'aperçevoir que les caractères avec accent le é ou le è se transforment en point d'interrogation ? sur internet, en local et sur mon hébergeur free.
la méta dans ma page est: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
Une petite précision, le résultat en html est correct, ce qui pose problème c'est l'orthographe de mes requêtes sql.
exemple:http://ipmusicstore.free.fr/public/catalogue.php?VARtheme=1&VARtitre=&Submit=AFFICHER
voici ma requête:
<?php if(!isset($_GET['VARtheme'])) $_GET['VARtheme']=1;//init de VARtheme si non déclaré ?>
<?php require_once('../Connections/ConnexionBoutiquemx.php'); ?>
<?php
mysql_select_db($database_ConnexionBoutiquemx, $ConnexionBoutiquemx);
$query_rsTheme = "SELECT * FROM rubriques ORDER BY theme ASC";
$rsTheme = mysql_query($query_rsTheme, $ConnexionBoutiquemx) or die(mysql_error());
$row_rsTheme = mysql_fetch_assoc($rsTheme);
$totalRows_rsTheme = mysql_num_rows($rsTheme);
$coltitre_rsCatalogue = "mehari";
if (isset($_GET['VARtitre'])) {
$coltitre_rsCatalogue = (get_magic_quotes_gpc()) ? $_GET['VARtitre'] : addslashes($_GET['VARtitre']);
}
$coltheme_rsCatalogue = "1";
if (isset($_GET['VARtheme'])) {
$coltheme_rsCatalogue = (get_magic_quotes_gpc()) ? $_GET['VARtheme'] : addslashes($_GET['VARtheme']);
}
mysql_select_db($database_ConnexionBoutiquemx, $ConnexionBoutiquemx);
$query_rsCatalogue = sprintf("SELECT rubriques.theme, articles.reference, articles.titre, articles.auteur, articles.prix FROM rubriques, articles WHERE articles.rubriqueID=%s AND rubriques.ID=articles.rubriqueID AND articles.titre LIKE '%%%s%%'", $coltheme_rsCatalogue,$coltitre_rsCatalogue);
$rsCatalogue = mysql_query($query_rsCatalogue, $ConnexionBoutiquemx) or die(mysql_error());
$row_rsCatalogue = mysql_fetch_assoc($rsCatalogue);
$totalRows_rsCatalogue = mysql_num_rows($rsCatalogue);
?>
qu'en pensez-vous ? Merci pour votre réponse.
j'utilise les pages dynamiques de dreamweaver mx, et easy php pour une application. j'ai la surprise de m'aperçevoir que les caractères avec accent le é ou le è se transforment en point d'interrogation ? sur internet, en local et sur mon hébergeur free.
la méta dans ma page est: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
Une petite précision, le résultat en html est correct, ce qui pose problème c'est l'orthographe de mes requêtes sql.
exemple:http://ipmusicstore.free.fr/public/catalogue.php?VARtheme=1&VARtitre=&Submit=AFFICHER
voici ma requête:
<?php if(!isset($_GET['VARtheme'])) $_GET['VARtheme']=1;//init de VARtheme si non déclaré ?>
<?php require_once('../Connections/ConnexionBoutiquemx.php'); ?>
<?php
mysql_select_db($database_ConnexionBoutiquemx, $ConnexionBoutiquemx);
$query_rsTheme = "SELECT * FROM rubriques ORDER BY theme ASC";
$rsTheme = mysql_query($query_rsTheme, $ConnexionBoutiquemx) or die(mysql_error());
$row_rsTheme = mysql_fetch_assoc($rsTheme);
$totalRows_rsTheme = mysql_num_rows($rsTheme);
$coltitre_rsCatalogue = "mehari";
if (isset($_GET['VARtitre'])) {
$coltitre_rsCatalogue = (get_magic_quotes_gpc()) ? $_GET['VARtitre'] : addslashes($_GET['VARtitre']);
}
$coltheme_rsCatalogue = "1";
if (isset($_GET['VARtheme'])) {
$coltheme_rsCatalogue = (get_magic_quotes_gpc()) ? $_GET['VARtheme'] : addslashes($_GET['VARtheme']);
}
mysql_select_db($database_ConnexionBoutiquemx, $ConnexionBoutiquemx);
$query_rsCatalogue = sprintf("SELECT rubriques.theme, articles.reference, articles.titre, articles.auteur, articles.prix FROM rubriques, articles WHERE articles.rubriqueID=%s AND rubriques.ID=articles.rubriqueID AND articles.titre LIKE '%%%s%%'", $coltheme_rsCatalogue,$coltitre_rsCatalogue);
$rsCatalogue = mysql_query($query_rsCatalogue, $ConnexionBoutiquemx) or die(mysql_error());
$row_rsCatalogue = mysql_fetch_assoc($rsCatalogue);
$totalRows_rsCatalogue = mysql_num_rows($rsCatalogue);
?>
qu'en pensez-vous ? Merci pour votre réponse.
A voir également:
- Mauvais encodage requête sql
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Sql (+) - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
1 réponse
Je n'y connais rien en PHP, mais voici un document que tout développeu devrait avoir lu:
https://sebsauvage.net/python/charsets_et_encoding.html
Regarde quel charset ta base de données renvoie. Assure-toi que tu le convertis bien en iso-8859-1. Et pense à échapper les codes HTML (< > et &).
(Sinon bonjour les risques de sécurité)
https://sebsauvage.net/python/charsets_et_encoding.html
Regarde quel charset ta base de données renvoie. Assure-toi que tu le convertis bien en iso-8859-1. Et pense à échapper les codes HTML (< > et &).
(Sinon bonjour les risques de sécurité)