diff --git a/dibi/drivers/mssql2005.php b/dibi/drivers/mssql2005.php index 999c5fd4..de888801 100644 --- a/dibi/drivers/mssql2005.php +++ b/dibi/drivers/mssql2005.php @@ -73,6 +73,9 @@ class DibiMsSql2005Driver extends DibiObject implements IDibiDriver, IDibiResult $this->connection = $config['resource']; } else { + // Default values + if (!isset($config['options']['CharacterSet'])) $config['options']['CharacterSet'] = 'UTF-8'; + $this->connection = sqlsrv_connect($config['host'], (array) $config['options']); } @@ -240,7 +243,7 @@ class DibiMsSql2005Driver extends DibiObject implements IDibiDriver, IDibiResult case dibi::IDENTIFIER: // @see http://msdn.microsoft.com/en-us/library/ms176027.aspx - return '[' . str_replace(array('[', ']'), array('[[', ']]'), $value) . ']'; + return '[' . str_replace(']', ']]', $value) . ']'; case dibi::BOOL: return $value ? 1 : 0; diff --git a/dibi/drivers/pdo.php b/dibi/drivers/pdo.php index a88ccc8d..e2eab25b 100644 --- a/dibi/drivers/pdo.php +++ b/dibi/drivers/pdo.php @@ -285,6 +285,9 @@ class DibiPdoDriver extends DibiObject implements IDibiDriver, IDibiResultDriver case 'mssql': return '[' . str_replace(array('[', ']'), array('[[', ']]'), $value) . ']'; + case 'sqlsrv': + return '[' . str_replace(']', ']]', $value) . ']'; + default: return $value; } @@ -372,8 +375,9 @@ class DibiPdoDriver extends DibiObject implements IDibiDriver, IDibiResultDriver case 'odbc': case 'mssql': + case 'sqlsrv': if ($offset < 1) { - $sql = 'SELECT TOP ' . (int) $limit . ' * FROM (' . $sql . ')'; + $sql = 'SELECT TOP ' . (int) $limit . ' * FROM (' . $sql . ') t'; break; } // intentionally break omitted