1

私はギリシャのSQL Server 2008データベースを持っており、phpを使用してWebサイトにデータを取得します.データベースデータはnvarchar.サーバーへの接続utf-8で、htmlファイルとの間で文字セットを持っていますcharset="utf-8".

データベースからデータをフェッチするときはすべて問題ありませんが、sqlsrv_field_metadata()で列名をフェッチしようとすると、ブラウザに疑問符が表示されます。ビューから列名を取得すると、正常information_schema.columnsに表示されます。

私は何をすべきか?

列名が であるかどうかを確認する方法はありますnvarcharか?

*更新: * PHP バグの SQL サーバー ドライバーであることが判明し、Codeplex http://sqlsrvphp.codeplex.com/workitem/22417に問題が追加されました。

4

2 に答える 2

0

古い sqlsrv ライブラリの代わりに mssql モジュールを使用する必要があります。

呼び出すには、次を使用します。

$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 に答える