Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

[Résolu] Moteur de recherche interne et les accents

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Surfeurdu33_greg
Nouveau WRInaute

Inscrit le: 08 Mai 2007
Messages: 21

URL permanente de ce messagePosté le : Mer Oct 17, 2007 22:41    Sujet du message: [Résolu] Moteur de recherche interne et les accents

Bonsoir à tous,

Je suis en train d'essayer de mettre en place un petit moteur de recherche pour mon blog.

J'ai utilisé l'un des tutos dispo ici et le moteur de recherche fonctionne très bien.
Mais il fonctionne quand la requète ne contient pas d'accents.

Exemple : si je recherche "maison" il va me trouver les articles correspondants sans problème.

Par contre si je recherche le mot "période" il me trouvera bien les articles contenant "période" mais j'aimerai aussi qu'il me trouve les articles avec le mot "periode".

Et inversement bien sur.

Voiçi le code :

Code:

 
<?php

if(isset($_POST['requete']) && $_POST['requete'] != NULL) 

include('include/cnx_mysql.php'); 
$requete = htmlentities($_POST['requete'], ENT_QUOTES); 
 
$query = mysql_query("SELECT*FROM blog WHERE body LIKE'%$requete%'ORDER BY id DESC") or die (mysql_error()); 
$nb_resultats = mysql_num_rows($query); 
if($nb_resultats != 0) 

 
?>

<h3>Résultats de votre recherche.</h3>
<p>Nous avons trouvé<?php echo $nb_resultats; 
if($nb_resultats > 1) { echo ' résultats '; } else { echo ' résultat '; } 
?>

dans notre base de données. Voici les fonctions que nous avons trouvé :<br/>
<br/>
<?php

while($donnees = mysql_fetch_array($query)) 

?>

<a href="fonction.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['head']; ?></a><br/>
<?php


?><br/>
<br/>
<a href="test.html">Faire une nouvelle recherche</a></p>
<?php


else 

?>

<h3>Pas de résultats</h3>
<p>Nous n'avons trouvé aucun résultats pour votre requête "<?php echo $_POST['requete']; ?>". <a href="test.html">Réessayez</a> avec autre chose.</p>
<?php


mysql_close(); 

else 

?>

<p>Rechercher dans le blog</p>
<form action="<?phpphp $_SERVER['PHP_SELF'] ?>" method="Post">
<input type="text" name="requete" size="10">
<input type="submit" value="Ok">
</form>
<?php


 
?>


Les données dans ma base de données sont stockés avec des caractères du genre &eacute; &agrave;.

Les interclassements des tables sont en "latin1_swedish_ci" et mes pages en ISO-8859-1.

Est-ce que quelqu'un pourrait me donner quelques astuces ou pistes ?

Faut-il stocker les mots directement avec des accents dans la base de données ?

Ou faut-il faire comme je le fais faire un htmlentities avant de les insérer dans la base de données.

Le problème après avec le htmlentities, c'est que si je dois faire des recherches avec LIKE , si j'ai des données de type : &eacute dedans il ne me trouvera jamais de résultats le moteur de recherche.

J'espère être clair, et merci d'avance si vous pouvez m'aider.


Dernière édition par Surfeurdu33_greg le Jeu Oct 18, 2007 17:10; édité 1 fois
 
Surfeurdu33_greg
Dharius
WRInaute passionné
WRInaute passionné

Inscrit le: 06 Avr 2005
Messages: 512

URL permanente de ce messagePosté le : Mer Oct 17, 2007 23:44    Sujet du message: [Résolu] Moteur de recherche interne et les accents

Le mieux est de stoquer en effet avec les accent non encodés dans la bdd... là tu peux éventuellement analyser si dans la chaine recherchée il y a des accents que tu remplaces par exemple en faisant

Code:
$mots-cles = htmlentities($mots-cles);
 
Dharius Visiter le site web du posteur
KOogar
WRInaute accro
WRInaute accro

Inscrit le: 16 Nov 2004
Messages: 2909
Localisation: Bangalore +3h30

URL permanente de ce messagePosté le : Jeu Oct 18, 2007 0:41    Sujet du message: [Résolu] Moteur de recherche interne et les accents

Les datas ca se gere en SORTIE, pas en ENTREE

tu as des probleme en sorties maintenant; et convertir du matin en latin, ca va pas bien le faire

essaye LIKE CONVERT('%requete%' USING latin1 ) peut-etre ?
 
KOogar Visiter le site web du posteur
Leonick
WRInaute accro
WRInaute accro

Inscrit le: 08 Aoû 2004
Messages: 8805
Localisation: Val de Marne

URL permanente de ce messagePosté le : Jeu Oct 18, 2007 8:02    Sujet du message: [Résolu] Moteur de recherche interne et les accents

sauf que, entre les mots entrée et entré&eacute;e quelque soit l'interbase il me semble que cela posera problème
 
Leonick Visiter le site web du posteur
bproductiv
WRInaute accro
WRInaute accro

Inscrit le: 27 Déc 2004
Messages: 2272
Localisation: La roche s/ yon

URL permanente de ce messagePosté le : Jeu Oct 18, 2007 9:02    Sujet du message: Re: Moteur de recherche interne et les accents

Surfeurdu33_greg a écrit:

Les interclassements des tables sont en "latin1_swedish_ci" ...

Tu es suédois Laughing ?
 
bproductiv Visiter le site web du posteur
Surfeurdu33_greg
Nouveau WRInaute

Inscrit le: 08 Mai 2007
Messages: 21

URL permanente de ce messagePosté le : Jeu Oct 18, 2007 9:06    Sujet du message: [Résolu] Moteur de recherche interne et les accents

J'ai trouvé la solution ré-enregistré toutes mes entrées sans passer par le htmlentities et là effectivement çà fonctionne mieux.

bproductiv non je ne suis pas suédois mais apparement c'est l'interclassement qui est inssensible à la case et aux accents lors de recherche dans la base de données.
 
Surfeurdu33_greg
Tilt
WRInaute passionné
WRInaute passionné

Inscrit le: 26 Mar 2005
Messages: 754

URL permanente de ce messagePosté le : Jeu Oct 18, 2007 11:53    Sujet du message: [Résolu] Moteur de recherche interne et les accents

Un autre probleme de ta requête, c'est qu'elle ne permet de rechercher que l'expression exacte, même composée de plusieurs mots-clés.
 
Tilt Visiter le site web du posteur
Surfeurdu33_greg
Nouveau WRInaute

Inscrit le: 08 Mai 2007
Messages: 21

URL permanente de ce messagePosté le : Jeu Oct 18, 2007 11:56    Sujet du message: [Résolu] Moteur de recherche interne et les accents

Oui tout à fait je vais m'y mettre.

Tu aurais des suggestions pour ça toi ?
 
Surfeurdu33_greg
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort