Instead of specifying tds version and client charset in freetds.conf, you may pass it as a parameter.
<?php $dsn = 'dblib:version=7.0;charset=UTF-8;host=domain.example.com;dbname=example;'; ?>
(No version information available, might only be in Git)
DSN-строка подключения через драйвер PDO_DBLIB — Соединение с базами данных Microsoft SQL Server и Sybase
DSN-строка подключения (англ. сокр.: Data Source Name — имя источника данных) через драйвер PDO_DBLIB состоит из следующих элементов::
DSN-префикс — строка sybase:
указывают,
только если драйвер PDO_DBLIB собрали с библиотеками Sybase ct-lib,
строка mssql:
, если драйвер PDO_DBLIB собрали с библиотеками
сервера Microsoft SQL Server, и строка dblib:
,
если драйвер PDO_DBLIB собрали с библиотеками FreeTDS.
host
Имя сервера, на котором лежит база данных. Значение по умолчанию — 127.0.0.1.
dbname
Название базы данных.
charset
Клиентский набор символов.
appname
Название приложения, которое указывают в системном представлении совместимости sysprocesses. Значение по умолчанию — "PHP Generic DB-lib" или "PHP freetds".
secure
Пока не используется.
Пример #1 Пример DSN-строки подключения через драйвер PDO_DBLIB
Следующий пример показывает DSN-строку подключения через драйвер PDO_DBLIB для соединения с базами данных Microsoft SQL Server и Sybase:
mssql:host=localhost;dbname=testdb sybase:host=localhost;dbname=testdb dblib:host=localhost;dbname=testdb
Instead of specifying tds version and client charset in freetds.conf, you may pass it as a parameter.
<?php $dsn = 'dblib:version=7.0;charset=UTF-8;host=domain.example.com;dbname=example;'; ?>
If you're using FreeTDS driver and you want to use "charset" parameter then you may have to edit freetds.conf (e.g. /etc/freetds/freetds.conf) and force connection using at least version 7.0 of the protocol.
tds version = 7.0
Charset parameter accepts all encodings supported by iconv (execute iconv --list to show all encodings).
when you connect to non standart 1433 port
for win32 use DSN like 'mssql:host=hostname,port;dbname=database'
for FreeTDS and DB-Lib use DSN like 'mssql:host=hostname:port;dbname=database'