Php SQL Server PDO-ODBC连接UTF-8
我试图在Windows上通过PHP(5.5)和PDO_ODBC连接到Microsofts SQL Server(2000和2008),并将字符集设置为UTF-8,但我没有找到方法。这就是我要尝试的:Php SQL Server PDO-ODBC连接UTF-8,php,sql-server,utf-8,pdo,odbc,Php,Sql Server,Utf 8,Pdo,Odbc,我试图在Windows上通过PHP(5.5)和PDO_ODBC连接到Microsofts SQL Server(2000和2008),并将字符集设置为UTF-8,但我没有找到方法。这就是我要尝试的: $db['conn'] = new PDO( //"odbc:driver={SQL Server};". "odbc:driver={SQL Server Native Client 10.0};". //"odbc:driver={SQL Server Native C
$db['conn'] = new PDO(
//"odbc:driver={SQL Server};".
"odbc:driver={SQL Server Native Client 10.0};".
//"odbc:driver={SQL Server Native Client 11.0};".
"server=".$db['host'].";".
"database=".$db['bank'].";".
"uid=".$db['user'].";".
"pwd=".$db['pass'].";".
"charset=UTF-8;"
);
对于PDO_SQLSRV,它默认工作。但由于PHP5.5没有官方的PDO_SQLSRV驱动程序,而且我必须连接到旧的SQLServer2000,所以我不能使用PDO_SQLSRV
当我通过PDO_ODBC连接时,有没有一个选项可以使用?
我寻找一种避免PHP utf8_encode()的方法
提前感谢:)有PHP/5.5的非官方编译。ODBC的问题是编码不能在需要调整某些ODBC配置文件的代码中设置。(请记住,
utf8_encode()
从ISO-8859-1转换而来。)不幸的是,官方的PHP5.4和非官方的PHP5.5 pdo_sqlsrv驱动程序放弃了对SQL Server 200的支持(自去年夏天微软放弃SQL Server 200以来,这是正确的)。我可以在windows上调整ODBC配置文件吗?你是对的。。。mb_convert_encoding()从cp1252到utf8将提供更好的结果;)