Если ini_set('mssql.charset', 'UTF-8');
не помогает И у вас нет прав root для изменения общесистемного файла freetds.conf
, вот что вы можете сделать:
1. Настройка /your/local/freetds.conf
Файл:
[sqlservername]
host=192.168.0.56
port=1433
tds version=7.0
client charset=UTF-8
2. Убедитесь, что DSN вашего подключения использует имя сервера, а не IP:
'dsn' => 'dblib:host=sqlservername;dbname=yourdb
3. Сделайте FreeTDS для использования вашего локального файла freetds.conf в качестве непривилегированного пользователя из сценария php через переменные env:
putenv('FREETDSCONF=/your/local/freetds.conf');