windows要用php連接Sybase可以使用php_sybase_ct.dll,只需有這個dll並把c:\windows\php.ini裡的;extension =php_sybase_ct.dll前面那個分號拿掉,就可以像使用mysql一樣使用Sysbase資料庫了,詳細可以參考以下:
sybase_connect("svname","root","passwd")
//跟mysql用法是一樣的
mysql_connect("svname","root","passwd")
不過在舊的版本上似乎連線不上,也可能是設定不對,所以最後選擇了使用ODBC來解決這個連線的問題,不過因為ODBC連接Sysbase 8預設取得的資料是big5的內容,所以需要再經過其它處理來使其產生網頁內容時變成utf-8。
底下是PHP利用ODBC連接資料庫,並且輸出成utf-8的網頁格式:
如果沒有處理的話輸出是中文的亂碼
方法十分簡單,首先需要在ODBC上設定輸出的編碼為cp950,也就是中文編碼,資料庫存取時編碼才會一致
可以控制台選擇資料來源(ODBC)
然後選擇新增,Driver的部份選擇Adaptive Server Anywhere 8.0
給於ODBC的名稱
設定要連入Sysbase的帳號及密碼
設定Sybase的Server Name
這裡是重點,Character set的部份要設cp950,中文語系
Network使用可依建立Sybase時的方式來決定
再來建立php文件,記得編碼是utf8的文件編碼,而且html的meta Content-Type也要設定charset是utf-8
這張圖右上方可以看到meta是utf8,下方toolbar可以看到編碼是utf8的檔案格式
中文字的轉換是利用function iconv,iconv(來源編碼,轉換編碼,來源字串)
如此就可以連接Sybase 8,並取得utf8編碼的中文字了。