2013-01-03 3 views
1

Y at-il un moyen que je puisse empêcher les résultats jQuery autocomplete d'afficher les caractères UTF8 comme un carré noir avec un "?" à l'intérieur?jQuery UI complétion automatique avec des caractères UTF8

Voici mon code:

<?php 
    $text = $mysqli->real_escape_string($_GET['term']); 
    $query = "SELECT DISTINCT field_63 FROM jbd_joomd_type15 WHERE field_63 LIKE '%$text%' ORDER BY field_63 ASC"; 
    $result = $mysqli->query($query); 
    $json = '['; 
    $first = true; 
    while($row = $result->fetch_assoc()) 
    { 
     if (!$first) { $json .= ','; } else { $first = false; } 
     $json .= '{"value":"'.$row['field_63'].'"}'; 
    } 
    $json .= ']'; 
    echo $json; 
?> 

Mon code jQuery:

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    $('#field_63').autocomplete(
    { 
     source: "cities.php", 
     minLength: 1 
    }); 
}); 
</script> 

Répondre

0

Avez-vous essayé json_encode sur vos données?

See documentation here: json_encode — Returns the JSON representation of a value

vous aussi ne pas partager votre code jQuery ???

J'ai également trouvé .

+0

Je suis absolument nouveau pour les scripts json et j'ai trouvé quelques résultats sur internet à propos du problème, mais aucun des exemples de code que j'ai trouvé ne ressemble au mien, donc j'ai peur de le faire si je le fais Quelque chose ne va pas. C'est pourquoi j'ai demandé de l'aide. Merci, je vais jeter un coup d'œil aux liens que vous avez publiés. – mah2602

+0

Je vais retag votre question afin que plus de gens le verront, et j'espère que vous aurez plus d'options. –

0

je résolu le problème en remplaçant la ligne

$json .= '{"value":"'.$row['field_63'].'"}'; 

avec

$json .= '{"value":"'.utf8_encode($row['field_63']).'"}'; 
0

J'ai eu le même ...

Tous mes sites php sont utf-8 codé, le MYSQL base de données aussi. Partout semble bien et montre les caractères appropriés, mais cette liste de saisie semi-automatique. À la valeur de retour, j'avais besoin de l'utiliser.

utf8_encode(return_value) ; 

Cela a résolu le problème.

Questions connexes