1

我有一个希腊 sql server 2008 数据库,我使用 php 将数据获取到一个网站。数据库数据是nvarchar。在与服务器的连接中,我有字符集到utf-8html 文件charset="utf-8"

当我从数据库中获取数据时,一切都很好,但是当我尝试使用 获取列名时sqlsrv_field_metadata(),它会在浏览器中显示并带有问号。如果我从视图中获取列名,information_schema.columns它们会显示得很好。

我应该怎么办?

有没有办法检查列名是否是nvarchar

*更新: *原来它是一个用于 php 错误的 sql server 驱动程序,并且该问题已添加到 Codeplex http://sqlsrvphp.codeplex.com/workitem/22417

4

2 回答 2

0

您应该使用 mssql 模块而不是旧的 sqlsrv 库。

打电话给你会使用:

$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 


$selected = mssql_select_db($myDB, $dbhandle)
  or die("Couldn't open database $myDB"); 

//execute a stored procedure:
$query = "exec eCommerce.dbo.products_GET_Product_php @productId = $pid, @countryCode = " . $_SESSION['cc'] . ", @sid = ". $_SESSION['sid'];

$result = mssql_query($query);

while($row = mssql_fetch_array($result))
{ 
 $pagetitle = $row["product_name"];
}
于 2012-11-16T14:49:50.940 回答
0

尝试连接

sqlsrv_connect ($serverName, array('CharacterSet' => 'windows-1253'));
于 2012-09-15T17:58:39.510 回答