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>格式,请分享。
答案 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:
您安装freetds并使用PDO的php-mssql驱动程序。
更改/etc/freetds.conf中的编码
在/etc/locales.conf中更改字符集和日期格式
我在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