我用jquery UI自动完成
创建了一个小的jquery示例$(function() {
//autocomplete
$(".selector").autocomplete({
source: "getdata.php",
minLength: 1
});
})
getdata.php
:
<?php
if (isset($_GET['term'])){
$return_arr = array();
try {
$connectionInfo = array('Database'=>'db','UID'=>'sa','PWD'=>'pw');
$connection = sqlsrv_connect('db-server',$connectionInfo);
if($connection)
{
$result = sqlsrv_query( $connection, 'SELECT TOP 10 test FROM table WHERE test like ? ',array('%'.$_GET['term'].'%'));
while($row = sqlsrv_fetch_array($result)){
$row = array_map('utf8_encode', $row);
$return_arr[] = $row['test'];
}
}
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}
?>
它可以工作,但问题是数据源不是Unicode,所以字符串没有正确显示我不知道要使用什么样的转换。
如果可能,我希望保持与数据库(Windows-1250)中相同的编码,因为此项目可能还会将内容从网站插回到数据库
我尝试只是转储原始字符串但是当返回数组得到转换时,我在json中得到带有特殊字符的值为null
答案 0 :(得分:0)
您可以在自动填充
中显示之前对数据进行编码