Page 1 sur 1

Problème d'accent avec futur moteur de recherche

Posté : 01 août 2013, 15:01
par Alexou
Bonjour à tous et à toutes,

Je me prénome Alexandre et j'ai 25 ans,

J'aurais besoin, si possible, d'aide :)


Je m'explique, je suis en train de concevoir un mini moteur de recherche ultra simplifié,

cependant, quand le mot clé contient un accent ou caractére spécial, aucun résultat ne s'affiche,

mais, si le mot clé n'a pas d'accent ou de caractére spécial, mais que dans les résultats il y a des accents, les résultats s'affichent

Pouvez-vous me dire d'où bien le "bug", svp ? Merci de votre aide, voici le code :
<?
$connexion = mysql_pconnect("SERVEUR","LOGIN","PASSWORD");

mysql_select_db("NOMDELABASE",$connexion);

$requete = "select * from NOMDELATABLE where titre like '%LEMOTCLES%'";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi))

{

$titre = $tableau['titre'];
$id = $tableau['id'];
$texte = $tableau['texte'];


echo stripslashes("$titre<br><br>");
}

?>

Merci par avance pour votre aide

Re: Problème d'accent avec futur moteur de recherche

Posté : 01 août 2013, 15:39
par Mazarini
Je pense avoir compris suite à ta réponse dans un mauvais post.
Il doit y avoir un truc genre & 1 2 ; ou & e c u t e ; dans ta variable du formulaire ou dans le champ de la base.

Regardes dans le source html après avoir consulté une donnée de la base ou affiché la requete sql.
Regardes également du coté de la fonction htmlspecialchars_decode (http://www.php.net/manual/fr/function.h ... decode.php)

Re: Problème d'accent avec futur moteur de recherche

Posté : 01 août 2013, 15:55
par Alexou
Merci Mazarini pour tes conseils,

J'ai trouvé l'astuce, en faite j'ai directement testé l'intégration du futur formulaire de recherche, et lorsque je saisi par exemple l'url avec le mot clé à accent, ça passe

mon code ayant changé pour la formule :
<?
$connexion = mysql_pconnect("SERVEUR","LOGIN","PASSWORD");

mysql_select_db("BDD",$connexion);

$recherche=$_GET['recherche']; 
$requete = "select * from TABLE where titre like '%$recherche%'";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi))

{

$titre = $tableau['titre'];
$id = $tableau['id'];
$texte = $tableau['texte'];


echo stripslashes("$titre<br><br>");
}

?>
J'espère que ces modifications pourrons servir à des gens qui auront le même problème :)