lnmp集成开发环境安装pdo_dblib扩展

linux菜鸟,遇到一问题,php连接mssql,获取的结果中文乱码,pdo_dblib扩展使用的是apt-get install php5-sybase方法安装的,尝试了修改freetds.conf php.ini 文件编码 页面编码以及系统字符集都没有解决问题,在freetds客户端下也是乱码,折腾了n多天,没有搞定,最后得知编译安装可以解决此问题,于是尝试编译搭建环境(主要是不知道apt搭建的环境能不能编译安装扩展),下载了freetds(慢的雷人啊,这是的网盘分享http://pan.baidu.com/share/link?shareid=217028745&uk=1426231065),然后编译安装,惊讶的发现,客户端查询的中文正常了,看来有戏啊。

使用lnmp集成环境搭建环境,然后漫长的安装后:

 1 进入pdo_dblib目录,cd ~/lnmp1.0-full/php-5.3.17/ext/pdo_dblib
 2 
 3 执行sudo /usr/local/php/bin/phpize
 4 
 5 sudo ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
 6 
 7 sudo make && make install
 8 
 9 sudo echo 'extension=pdo_dblib' >> /usr/local/php/etc/php.ini
10 
11 sudo service php-fpm restart

打开php页面,看到中文已经正常了

附tsql客户端连接的命令

/usr/local/freetds/bin/tsql -H 192.168.1.100 -p 1433 -U sa -P 123456 -D user

1 如果连不上数据库,就检查一下版本,将/usr/local/freetds/etc/freetds.conf中global选项中tds version = 8.0
2 
3 如果查到的结果是乱码,更改/usr/local/freetds/etc/freetds.conf将global中添加了一条client charset = UTF8
原文地址:https://www.cnblogs.com/quinnxu/p/3286611.html