我在Ubuntu 16.04上安装了包php7.0-sybase(版本7.0.18-0ubuntu0.16.04.1)。 freetds的版本为0.91(目前最新的Ubuntu上)PDO :: DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER被忽略
这是我/etc/freetds/freetds.conf
[global]
text size = 64512
[mssql]
host = 192.0.1.5
port = 1433
tds version = 8.0
的内容,这是我的/etc/odbc.ini
[mssql]
Description = MSSQL Server
Driver = freetds
Database = MY_DB
ServerName = MSSQL
TDS_Version = 8.0
下面的内容是PHP脚本我正在尝试
<?php
$pdo = new PDO('dblib:host=192.0.1.5;port=1433;dbname=MY_DB;charset=UTF-8', 'my_user', 'my_pass');
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$pdo->setAttribute(PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER, true);
$sql = 'SELECT TOP 1 my_field FROM dbo.my_table';
$stmt = $pdo->prepare($sql);
$stmt->execute();
print_r($all = $stmt->fetchAll());
我e xpect看到字段的内容作为一个GUID,而不是我得到的二进制内容
例如,我希望看到[my_field] => 8CAFC97B-30C2-4096-9367-9D240085A16E
,而是我得到[my_field] => {ɯ▒▒0▒@▒g▒$▒▒n