Jeg havde et lignende problem og prøvede alle indstillinger, jeg kunne finde på nettet - forgæves.
I mit tilfælde var problemet selve konfigurationen af FreeTDS. På Linux er filen /etc/freetds/freetds.conf
Jeg var nødt til at ændre versionen til 7.0 (måske virker andre numre også. Jeg har lige prøvet 7.0)
[global]
# TDS protocol version
tds version = 7.0
Efter dette syntes chaufføren at acceptere ændringer af tegnsættet.
ini_set('mssql.charset', 'UTF-8');
Forresten:ændringen er umiddelbart i kraft, ingen grund til at genstarte noget bagefter