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),而後編譯安裝,驚訝的發現,客戶端查詢的中文正常了,看來有戲啊。php
使用lnmp集成環境搭建環境,而後漫長的安裝後:linux
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頁面,看到中文已經正常了web
附tsql客戶端鏈接的命令sql
/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