2015-06-09 56 views
0

我在FreeBSD上使用PHP 5.3。 我想從SQL Server數據庫中選擇一些utf-8數據(波斯語字符),然後將它們寫入文本文件,但由於utf-8所有字符都會寫入文件????。 我已經尋找了兩天讀取大部分的解決方案,包括:如何在mssql_connect中設置字符集?

  1. PHP + SQL Server - How to set charset for connection?

在這個問題上有人說「有在的DSN爲SQL Server PDO驅動程序沒有字符集參數」並建議使用DBLIB驅動程序,但here我發現那不能使用dblib。

  • PHP PDO Keep Getting Error: Charset=UTF8 : An invalid keyword charset was specified in the dsn string
  • 我應該怎麼辦?使用mssql_connectPDO SQL Server Driver

    而且我發現,在sqlsrv_connect我們可以Charset參數設置爲UTF-8,但我得到這個錯誤:

    Fatal error: Call to undefined function sqlsrv_connect()`.

    +0

    當您運行在SSMS查詢,你還可以獲得問號或者你得到的實際字符? –

    +0

    我在ssms上得到正確和實際的字符。 –

    +0

    好吧,所以問題是PHP,而不是SQL服務器。我對PHP一無所知,所以我無法提供幫助,但我確定你不是第一個嘗試使用php with utf-8的人,所以其他人肯定會爲你提供解決方案。 –

    回答

    0

    最後我做到了。 我已經使用ODBC Driver連接到SQL Server,然後執行SELECT

    $pdo = new PDO ("odbc:Driver={SQL Server};Server=$hostname;Database=$dbname; Uid=$username;Pwd=$pw;"); 
    

    Note: I did this connection in my test environment (Windows 7) and not on FreeBSD.

    相關問題