【发布时间】:2013-12-24 11:24:59
【问题描述】:
我用 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
【问题讨论】:
标签: javascript php jquery json jquery-ui