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

橙三吉。 提交于 2019-12-01 00:27:09

问题


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.


回答1:


Here's a wiki post from the Microsoft Community

https://github.com/Microsoft/msphpsql/wiki/Install-pdo_sqlsrv-for-PHP-7.0-on-Debian

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



回答2:


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.




回答3:


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.




回答4:


Please change:

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

to:

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


来源:https://stackoverflow.com/questions/11839368/install-sqlsrv-driver-on-linux-or-other-utf-8-capable-driver

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!