使用UTF8字符的jQuery UI自动完成

时间:2013-01-03 18:19:01

标签: php jquery jquery-ui-autocomplete

我是否有办法阻止jQuery autocomplete结果将UTF8字符显示为带有“?”的黑色方块内?

这是我的代码:

<?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;
?>

我的jQuery代码:

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

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我通过替换

来解决问题
$json .= '{"value":"'.$row['field_63'].'"}';

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

答案 2 :(得分:0)

我有同样的......

我所有的php网站都是utf-8编码的,MYSQL数据库也是。到处都很好,并显示正确的字符,但这个自动完成列表。 在返回值我需要使用它。

utf8_encode(return_value) ;

这解决了这个问题。