1、安装,需要安装freetds
对于Debian(ubuntu这种)
apt-get install php5-sybase
2、字符集问题
mssql query如果返回
"Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier."
编辑/etc/freetds/freetds.conf,添加如下两行:
也可以在php.ini或者mssql独立module的ini(譬如ubuntu上php各个子module都有自己的独立配置文件)中指定charset[global]
;tds version = 4.2
tds version = 8.0
client charset = UTF-8
; Specify client character set..
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
mssql.charset = "UTF-8"
3、date format问题
默认mssql返回的时间类型是:mon dd yyyy hh:miAM (or PM)
这种格式插入不到mysql中(Incorrect date value),在php中也不支持,如new DateTime()。
解决方法一种是用mssql的convert语法,
另一种是设置php.ini或者mssql module的独立ini,加入
mssql.datetimeconvert = Off
参考:
mssql-query
mssql cast&convert