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;'; ?>
(PECL PDO_DBLIB >= 0.9.0)
PDO_DBLIB DSN — Conectando-se aos bancos de dados Microsoft SQL Server e Sybase
O Nome da Fonte de Dados (DSN) PDO_DBLIB é composto pelos seguintes elementos:
O prefixo DSN é sybase:
se o PDO_DBLIB foi
vinculado às bibliotecas Sybase ct-lib,
mssql:
se o PDO_DBLIB foi vinculado às
bibliotecas do Microsoft SQL Server ou dblib :
se
o PDO_DBLIB foi vinculado às bibliotecas FreeTDS.
host
O nome do servidor onde o banco de dados reside. O padrão é 127.0.0.1.
dbname
O nome do banco de dados.
charset
O conjunto de caracteres do cliente.
appname
O nome da aplicação (usado nos processos do sistema). O padrão é "PHP Generic DB-lib" ou "PHP freetds".
secure
Atualmente não utilizado.
Exemplo #1 Exemplos de DSN PDO_DBLIB
Os exemplos a seguir mostram um DSN PDO_DBLIB para conexão com bancos de dados Microsoft SQL Server e 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'