在Linux或其他支持UTF-8的驱动程序上安装SQLSRV驱动程序?

时间:2012-08-07 04:40:19

标签: php sql-server linux utf-8 sqlsrv

SQLSRV是PHP的唯一驱动程序,能够将 UTF-8 字符串存储到当前维护的双字节列(NVARCHAR而不是VARCHAR)中Microsoft支持PHP 5.2.X和5.3.X。

我还获得了为linux下载这些驱动程序Linux SQLSRV driver download的链接,但我无法配置。

如果有人知道如何在linux上配置 sqlsrv 驱动程序,或者有其他替代方法从 UTF-8中 SQL 服务器检索数据< / em>格式,请分享。

4 个答案:

答案 0 :(得分:2)

以下是来自Microsoft社区的wiki帖子

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

我认为最简单的路线是php-pear路线

# (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

答案 1 :(得分:1)

我读完之后用Google搜索了一下,我可能找到了答案。关于Debian:

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

这将安装PHP对Free TDS所需的一切,并允许我使用sqlsrv驱动程序进行连接。

答案 2 :(得分:1)

其他UTF-8兼容解决方案dblib:

  1. 您安装freetds并使用PDO的php-mssql驱动程序。

  2. 更改/etc/freetds.conf中的编码

  3. 在/etc/locales.conf中更改字符集和日期格式

  4. 我在2010年做过。

答案 3 :(得分:0)

请更改:

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