jQueryUI 自动完成 - 编码问题
我在 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。
问题出在哪里?
更新
这是服务器端问题,基于 KohanaPHP 2.3.4 框架的 PHP 应用程序。 这是获取和显示结果的代码:
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 数组时,我会得到正确的字符串。
I have problem with encoding in jQueryUI Autocomplete.
Server side application is PHP and send reply for this query with headers:
Content-Type: application/json, charset=UTF-8
Here is autocomplete code:
$('#city').autocomplete({
source: 'ajax_get_cities.html',
dataType: "json",
minLength:3
});
When I type: kra (expected result is: Kraków) I get reply (copied from Firebug raw reply):
[{"city":"Krak\u00f3w"}]
and autocomplete doesn't display this result.
Database table, field, connection, PHP file, all is UTF-8.
Where is problem?
Update
This is server side problem, PHP application based on KohanaPHP 2.3.4 framework.
Here is code to get and display result:
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);
When I disply $aCities array then I get correct string.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将 label 属性添加到您的 json 响应中:
DOCS: 自动完成小部件 | jQuery UI API 文档 - 选项“源”
add label property to your json response:
DOCS: Autocomplete Widget | jQuery UI API Documentation - option "source"
将其添加到您的
自动完成
中:add this to your
autocomplete
: