我在我的挪威網站上使用jQuery的自動完成功能。當輸入挪威字符æ,ø和å時,自動完成功能會建議具有相應字符的單詞,但不要以相應字符開頭的單詞。似乎我必須設法在單詞中間對挪威字符進行字符編碼,而不是以字母開頭的字符。jQuery自動完成特殊字符(挪威語)問題
我正在使用PHP腳本和我自己的函數將挪威語字符編碼爲UTF-8並生成自動完成列表。
這真令人沮喪!
代碼:
PHP代碼:
$q = strtolower($_REQUEST["q"]);
if (!$q) return;
function rewrite($string){
$to = array('%E6','%F8','%E5','%F6','%EB','%E4','%C6','%D8','%C5','%C4','%D6','%CB', '%FC', '+', ' ');
$from = array('æ', 'ø', 'å', 'ä', 'ö', 'ë', 'æ', 'ø', 'å', 'ä', 'ö', 'ë', '-', '-');
$string = str_replace($from, $to, $string);
return $string;
}
$items
是一個數組方含建議字。
foreach ($items as $key=>$value) {
if (strpos(strtolower(rewrite($key)), $q) !== false) {
echo utf8_encode($key)."\n";
}
}
jQuery代碼:
$(document).ready(function(){
$("#autocomplete").autocomplete("/search_words.php", {
position: 'after',
selectFirst: false,
minChars: 3,
width: 240,
cacheLength: 100,
delay: 0
}
)
}
);
在第一個位置使用非編碼字符時,您獲得有效返回嗎?你如何構建返回列表 - 可能有助於查看代碼\查詢。 – menkes 2009-12-29 16:16:17
爲什麼使用自定義編碼腳本,爲什麼不用utf-8用ajax發佈數據? – dfilkovi 2009-12-29 16:35:01
發佈一些代碼! – Galen 2009-12-29 16:59:03