2011-09-08 211 views
0

我在jQueryUI自動完成中編碼有問題。 服務器端應用程序是PHP和這個查詢與頭髮送回復:jQueryUI自動完成 - 編碼問題

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

這裏是自動完成的代碼:

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

當我鍵入:KRA(預期的結果是:克拉科夫),我得到的答覆(複製自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); 

當我DISPLY $ aCities陣列然後我得到正確的字符串。

+0

頭(..),像變魔術一樣,謝謝。 – Asaf

回答

2

本地數據可以是字符串的簡單陣列,或者它包含每個項目 對象的陣列中,與任一標籤或值 屬性或兩者。

添加標籤屬性到你的JSON響應:

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

DOCS:Autocomplete Widget | jQuery UI API Documentation - 選項 「源」

+0

工作正常,謝謝。我忘記了正確的財產。 –

+0

我也忘了一次。 :) – bsrykt

+0

在當前版本中,還有一個選項可以使用函數作爲數據源:)(不利的一面是你必須自己做搜索) –

0

添加到您autocomplete

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

不起作用,這是服務器端問題。當我嘗試在瀏覽器中直接獲取此地址時,我會得到相同的結果。 –