jQueryUI自动完成 - 编码问题

时间:2011-09-08 20:07:00

标签: php jquery jquery-ui jquery-ui-autocomplete

我在jQueryUI自动完成中遇到编码问题。 服务器端应用程序是PHP并使用标头发送此查询的回复:

Content-Type: application/json, charset=UTF-8

以下是自动填充代码:

$('#city').autocomplete({
    source: 'ajax_get_cities.html',
    dataType: "json",
    minLength:3
});

当我输入:kra(预期结果是:Kraków)我收到回复(从Firebug原始回复中复制):

[{"city":"Krak\u00f3w"}]

并且自动填充功能不会显示此结果 数据库表,字段,连接,PHP文件都是UTF-8 哪里有问题?

更新
这是服务器端问题,PHP应用程序基于KohanaPHP 2.3.4框架。 以下是获取和显示结果的代码:

header('Content-Type: application/json, charset=UTF-8');
$mModel = new Partners_Model();
$str = $this->input->get('term', true);
$aCities = $mModel->getCitiesAjax($str);
echo json_encode($aCities);

当我显示$ aCities数组时,我得到正确的字符串。

2 个答案:

答案 0 :(得分:2)

  

本地数据可以是一个简单的字符串数组,也可以包含   数组中每个项目的对象,带有标签或值   财产或两者兼而有之。

将标签属性添加到json响应中:

[{"label":"Krak\u00f3w"}]

DOCS:Autocomplete Widget | jQuery UI API Documentation - 选项“来源”

答案 1 :(得分:0)

将此添加到您的autocomplete

    contentType: "application/json; charset=utf-8"