Я делал это раньше в .Net, но я немного новичок в PHP и могу использовать некоторую помощь.Я пытаюсь получить данные в PHP из базы данных MSSQL, некоторые из которых являются греческими буквами.Тип данных столбцов MSSQL - nvarchar
, а греческие символы правильно отображаются в Management Studio;однако всякий раз, когда я получаю данные с помощью функции sqlsrv_query
в php, я получаю кучу вопросительных знаков.
В функции 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;
}
Любые предложения приветствуются.Пожалуйста, помогите!