Home » Php » php – Install SQLSRV driver on Linux, or other UTF-8 capable driver?

php – Install SQLSRV driver on Linux, or other UTF-8 capable driver?

Posted by: admin July 12, 2020 Leave a comment


SQLSRV is the only driver for PHP that is capable of storing UTF-8 strings into two-byte columns (NVARCHAR instead of VARCHAR) which is currently maintained and supported by Microsoft for PHP 5.2.X and 5.3.X.

And I also got the link for downloading these drivers Linux SQLSRV driver download for linux but I could not configure.

If someone has got idea how to configure the sqlsrv driver on linux or has some other alternative to retrieve the data from SQL server in UTF-8 format, please share.

How to&Answers:

Here’s a wiki post from the Microsoft Community


I think the easiest route would be the php-pear route

# (1) Install PDO driver from pecl
apt-get install unixodbc-dev php7.0-dev php-pear
pecl install pdo_sqlsrv-4.0.5
echo -e "; priority=20\nextension=pdo_sqlsrv.so" > /etc/php/7.0/mods-available/pdo_sqlsrv.ini
phpenmod -v 7.0 pdo_sqlsrv


I Googled a bit more after I read this and I may have found the answer. On Debian:

# apt-get install freetds-common freetds-bin unixodbc php5-mssql

That will install everything PHP needs for Free TDS and allows me to connect using the sqlsrv driver.


Other UTF-8 compatible solution dblib:

  1. You install freetds and use php-mssql driver with PDO.

  2. Change encoding in /etc/freetds.conf

  3. Change charset and date format in /etc/locales.conf

I did it back in 2010.


Please change:

echo -e "; priority=20\nextension=pdo_sqlsrv.so" > /etc/php/7.0/mods-   available/pdo_sqlsrv.ini


echo -e "; priority=20\nextension=pdo_sqlsrv.so" > /etc/php/7.0/mods-available/pdo_sqlsrv.ini