JQuery Autocomplete et caractères spéciaux
Yop !
C'est encore moi :D
Voilà, j'utilise une fonction "autocomplete" de JQuery afin de faire une liste déroulante dont les choix proposés contiennent ce que je saisis dans le champs input. Les choix sont actualisés en temps réel , au fur et à mesure de la saisie.
Le souci c'est que certains choix contiennent des " , et/ou caractères spéciaux ( genre accentués, ou bien encore des & ).
Voici le code (simplifié pour plus de clarté) utilisé sur la page qui a l'input :
Code:
1 2 3 4 5 6 7 8 9
| <input type="text" class='autotheme '>
<script type="text/javascript">
$(function() {
$(".autotheme ").autocomplete({
source: "suggtheme .php",
minLength: 1
});
});
</script> |
Et la page suggtheme .php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| header('Content-Type: text/json');
$get_term = $_GET['term'];
$wideterm = '%'.htmlspecialchars($get_term).'%'; // permet de chercher des caractères accentués
$return_arr = array();
require 'data_connect.php';
$sql = 'SELECT theme FROM playlist WHERE UPPER(theme) LIKE UPPER("'.$wideterm.'") GROUP BY theme ORDER BY UPPER(theme) ASC, datepl DESC';
$requete = mysql_query( $sql ) ;
while( $result = mysql_fetch_object( $requete ) )
{
$return_arr[] = utf8_encode($result->theme);
}
echo json_encode($return_arr); |
Si je cherche spé par exemple, j'ai comme résultat Spéciale "remixes" au lieu de Spéciale "remixes"
J'ai essayé avec htmlspecialchars à la place de utf_encode, j'obtiens Spéciale "remixes" , j'ai essayé avec des utf8_decode, des combinaisons etc etc mais les résultat sont tous plus pourris les uns que les autres lol
Si quelqu'un a une idée à explorer, à vot' bon coeur m'ssieurs dames :D
Merkouin !