Автозаполнение jQueryUI - проблема с кодировкой - PullRequest
0 голосов
/ 09 сентября 2011

У меня проблема с кодировкой в ​​jQueryUI Autocomplete.Серверное приложение на PHP и отправляет ответ на этот запрос с заголовками:

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

Вот код автозаполнения:

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

Когда я набираю: kra (ожидаемый результат: Kraków) Iполучить ответ (скопировано из исходного ответа 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 ]

2 голосов
/ 09 сентября 2011

Локальные данные могут быть простым массивом строк или содержать объекты для каждого элемента массива со свойством метки или значения или обоими.

добавить свойство меткина ваш ответ json:

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

DOCS: Виджет автозаполнения |Документация по API jQuery UI - опция "source"

0 голосов
/ 09 сентября 2011

добавить это к вашему autocomplete:

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