1

インストール済みで IIS7 を実行していWindows Server 2008 R2 server with PHP5.4 and SQLSRVます。

基本的な問題は、特定の値を取得しようとすると、返された値に余分な文字や不明な文字が追加されることです。

$options = array(PDO::SQLSRV_ATTR_ENCODING => PDO::SQLSRV_ENCODING_SYSTEM);
$this->db = new PDO("sqlsrv:server=$host;Database=$dbname",$user,$pass,$options);

$this->stmt =$this->connection->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED));
$this->stmt->execute();

$this->obj = $this->stmt->fetch(PDO::FETCH_OBJ)
$this->obj->$column;

$column「 」などはどこにありますかID

返された値に対して var_dump を実行すると、string(4) "455". $strB"455", $strA == $strBを false に評価するように設定した場合...

iconv and utf8_decode戻り値を試したり、さまざまなPDOエンコーディングを設定したりしましたが、すべて成功しませんでした。

データベースの照合は に設定されていSQL_Latin1_General_CP1_CI_ASます。これに関する助けがあれば大歓迎です!

4

2 に答える 2

0

問題は明らかにカーソルの設定に関係していました...

$this->stmt =$this->connection->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL, PDO::SQLSRV_ATTR_CURSOR_SCROLL_TYPE => PDO::SQLSRV_CURSOR_BUFFERED));

オプション配列からカーソル設定を削除した後、不明な文字はなくなりました。

于 2013-06-04T13:48:15.910 に答える