如何在mssql_connect中设置charset?

时间:2015-06-09 07:19:37

标签: php pdo utf-8 character-encoding

我在PHP 5.3上使用FreeBSD。 我想从utf-8数据库中选择一些SQL Server数据(波斯字符),然后将它们写入文本文件,但由于utf-8会执行所有字符将写入文件????。 我搜索了两天并阅读了大部分解决方案,包括:

  1. PHP + SQL Server - How to set charset for connection?
  2. 在这个问题中有人说" SQL Server PDO驱动程序的DSN中没有Charset参数"并建议使用DBLIB驱动程序,但here我发现无法使用dblib。

    1. PHP PDO Keep Getting Error: Charset=UTF8 : An invalid keyword charset was specified in the dsn string
    2. 我该怎么办?使用mssql_connectPDO SQL Server Driver

      我还发现在sqlsrv_connect中我们可以将Charset参数设置为UTF-8,但我收到此错误:

        

      致命错误:调用未定义的函数sqlsrv_connect()`。

1 个答案:

答案 0 :(得分:0)

最后我做到了。 我使用ODBC Driver连接到SQL Server,然后执行SELECT

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

注意:我在测试环境(Windows 7)中进行了此连接,而不是在   FreeBSD的。