我在.Net中完成了这项工作,但我对PHP有点新,可以使用一些帮助。我试图从MSSQL数据库中获取PHP中的数据,其中一些是希腊字母。 MSSQL列的数据类型为nvarchar
,希腊字符在管理工作室中正确显示;然而,每当我在php中使用sqlsrv_query
函数获取数据时,我会得到一堆问号。使用PHP检索MSSQL数据库中的希腊字母
在sqlsrv_connect
函数我试过设置CharacterSet"=>"UTF-8
哪个不起作用。
我试过iconv()
,但我不确定要使用哪些设置。
我试过mb_detect_encoding()
,它返回ASCIIASCII
。
下面是一些示例代码:
public function _getOrderItemDetails($orderItemIds,$productTypeId){
$params = explode(',', $orderItemIds);
$sql = "select od.*, ofs.Sort
from orderDetail od
left join orderFieldSort ofs on ofs.fieldName = od.name and productTypeId in ($productTypeId)
where orderItemid in (".rtrim(str_repeat('?,', count($params)),',').")
order by ofs.sort";
return $this->_compileResults($sql,'OrderDetail',$params);;
}
private function _compileResults($sql,$classType,$params){
$result = sqlsrv_query($this->conn,$sql,$params);
$arrayResult = array();
while($orderObject = sqlsrv_fetch_object($result,$classType)){
array_push($arrayResult, $orderObject);
}
return $arrayResult;
}
任何建议都欢迎。请帮忙!