Problème de caractère accentué
Bonjour,
Je programme un site Web en php permettant de gérer des inventaires.
Lors de la création d'un nouvel article, je transmet par un formulaire post la catégorie d'un article.
Il s'agit dans mon cas de la catégorie "Publicité". Je fais ensuite la requête suivante :
Code:
1 2 3 4 5 6 7 8
|
$sql = 'SELECT page FROM textes WHERE categorie = "'.$categorie.'" LIMIT 1';
$query = mysql_query($sql)or die(mysql_error());
if($data = mysql_fetch_assoc($query)){
$page = $data['page'];
}else{
$page = NULL;
} |
J'arrive toujours dans la partie NULL. Pourtant si je copie-colle ma requête dans phpMyAdmin, tout marche.
J'ai donc essayé de comparer ma variable $categorie avec le String "Publicité" ainsi :
Code:
1 2 3 4
|
var_dump($categorie == "Publicité"); // bool(false)
var_dump($categorie) // String(16)"Publicité"
var_dump("Publicité") // String(10)"Publicité" |
J'ai donc deux même String, mais ils n'ont pas la même longueur !
J'ai essayé les fonctions classiques du genre de html_entity_decode etc. mais ça ne fonctionne pas... encore
Si vous avez des idées je suis preneur,
Merci d'avance et bonne soirée
Essais de vos propositions
Bonjour,
Merci de m'avoir répondu si vite...
J'ai essayé toutes vos fonctions, sans succès. Le problème venait du fait que j'utilisais une fonction pour récupérer ma variable $categorie.
Code:
1 2 3 4 5 6 7 8 9 10
|
function getPost($var){
$result = NULL;
if(!empty($_POST[$var])){
$result = $_POST[$var];
$result = htmlentities($result);
$result = mysql_real_escape_string($result);
}
return $result;
} |
J'ai récupère donc désormais ma variable en ne la passant pas par htmlentites, et ça marche. Le html_entity_decode aurait dû marcher, je crois.
Dans tous les cas, merci à tous , j'ai pu découvrir trim(), que je ne connaissais pas.
Bonne journée