如何在 mssql_connect 中设置字符集?

How to set charset in mssql_connect?

我在 FreeBSD 上使用 PHP 5.3。 我想从 SQL Server 数据库中 select 一些 utf-8 数据(波斯语字符),然后 将它们写入文本文件 ,但是由于 utf-8 是否所有字符都将写入文件 ?????. 找了两天,看了大部分的解决方案,包括:

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

在这个问题中有人说 "There is no Charset parameter in DSNs for the SQL Server PDO driver" 并建议使用 DBLIB 驱动程序,但是 here 我发现不能使用 dblib。

  1. 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()`.

我终于做到了。 我使用 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.