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.
hostO nome do servidor onde o banco de dados reside. O padrão é 127.0.0.1.
dbnameO nome do banco de dados.
charsetO conjunto de caracteres do cliente.
appnameO nome da aplicação (usado nos processos do sistema). O padrão é "PHP Generic DB-lib" ou "PHP freetds".
secureAtualmente 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.0Charset parameter accepts all encodings supported by iconv (execute iconv --list to show all encodings).when you connect to non standart 1433 portfor win32 use DSN like 'mssql:host=hostname,port;dbname=database'for FreeTDS and DB-Lib use DSN like 'mssql:host=hostname:port;dbname=database'