Bonjour,
En ce moment , j'ai un problème avec les accent :
Je fais une requete de recherche à partir d'une liste complétée par la base de données
Cette liste s'appelle "souscat". Dans cette liste, j'ai des chaines de caractères avec des accents (Café & Bar , Plâtrier ...). Donc je récupère la chaine de caractère sélectionnée dans la liste pour ma requete et la requete ne renvoit rien ! Et ca , uniquement lorsque il ya un accent.
J'ai donc décidé de supprimer tous les accents de ma table où je fais la recherche et aussi les accents de la chaine de caractère de ma liste , mais sans que ceux-ci disparaissent dans la liste . Par exemple :
Code :
- <?php //Le système de Recherche
- function sans_accent($chaine)
- {
- $accent ="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
- $noaccent="aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
- return strtr(trim($chaine),$accent,$noaccent);
- }
- if (isset($_REQUEST['souscat']))
- {
- if ($_REQUEST['action1']=="toute" )
- {
- $sous=sans_accent($_REQUEST['souscat']);
- $liendb=mysql_connect($bddserver,$bddlogin,$bddpassword);
- mysql_select_db ($bdd);
- $sql = "SELECT * FROM table1
-
- WHERE domaine LIKE '%" . $_REQUEST['cat'] .
- "%'
- AND activite LIKE '%" . $sous .
- "%'
- ORDER BY ville,nom";
- }
|
Mais la , c'est la meme chose : elle ne renvoit rien ! Pourtant si je prend l'exemple de "café & bar", j'ai "cafe & bar" dans ma table1 et j'ai "café & bar" dans ma liste. Ensuite, j'utilise, juste avant la requete, la fonction sans_accent donc logiquement je devrai avoir "cafe & bar" dans ma variable $sous .
Donc voila , j'aimerai bien savoir où ai-je fait mon erreur
Merci
Message édité par bluguludu le 07-07-2006 à 10:23:12