2012-07-09 4 views
1

Je rencontre des difficultés avec un script JQquery Autocomplete. Cela fonctionne bien jusqu'à ce que j'effectue une recherche avec un caractère non-UTF8 dans la requête de recherche. Par exemple: la requête de recherche "test" renvoie avec succès des résultats comme "test", "test é" etc mais quand j'ajoute le é à la requête de recherche, il ne donne plus aucun résultat: (requête "test" é "ne donne aucun résultat". Lorsque j'appelle le script PHP qui exécute la requête et renvoie les résultats sous la forme d'un tableau json, il me montre la sortie correcte: "[{" id ":" 1230 "," value ":" Test \ u00e9 "}]", c'est juste sur la page HTML que la liste déroulante avec les résultats n'est plus donnée.jquery autocomplete ne retourne pas les résultats avec é

tout conseil à ce sujet est grandement apprécié.

Walter

+0

Y a-t-il un message dans la console d'erreur du navigateur? – YMMD

+1

@ walter81 'header (" Type-de-contenu: application/json; charset = UTF-8 ");' avez-vous défini le méta-tag de type de contenu html comme un utf8? et le type de contenu en-tête php comme utf8?, sinon essayez les deux aussi vous décrivez le problème un peu mieux voulez-vous dire que la liste ne montre pas? Jetez un oeil à cette réponse http://stackoverflow.com/questions/2127124/utf-8-problem-in-using-jquery-autocomplete-tags espérons que cela aide :) – Val

+0

J'ai ajouté les deux en-têtes, sans résultat. Et oui, je veux dire que la liste ne montre pas. Il montre tous les résultats quand je tape "test" mais s'arrête quand j'ajoute l'é à la chaîne de recherche ("test é" ne montre pas la liste du tout). J'ai déjà vérifié ce lien, mais cela semble être un autre problème. – Walter81

Répondre

0

I -finalement trouvé. Et, comme d'habitude, il est assez simple:

Dans la partie javascript où je le cal JSON-script que je remplacé "q: échapper (request.term)" par « q: encodeURI (request.term) ". Cela a résolu mon problème!

$("#field") 
.autocomplete({ 
    source: function(request, response) { 
     $.getJSON("./ajax/json_search.php", { 
      object_type: "artists", 
      q: encodeURI(request.term) 
      }, response); 
     } 
}) 
Questions connexes