我使用sqlsrv驱动程序连接到带有PDO的MS SQL服务器.
PHP版本是5.3.24.工作连接如下所示:
$dsny = "sqlsrv:Server=xx1;Database=xx2"; $usery = 'xx3'; $passwordy = 'xx4'; $dbhy = new PDO($dsny, $usery, $passwordy);
**
但我需要设置字符,然后我尝试这个:
$dsny = "sqlsrv:Server=xx1;Database=xx2;charset=utf8"; $usery = 'xx3'; $passwordy = 'xx4'; $dbhy = new PDO($dsny, $usery, $passwordy);
当我添加charset时,我收到此错误:"致命错误:未捕获异常'PDFException',消息'SQLSTATE [IMSSP]:在dsn字符串中指定了无效关键字'charset''"
那可能导致这个错误的原因是什么?
从我读到的我需要这样做,因为我正在运行一个新的PHP版本.
您需要在连接后应用该属性:
$dbhy->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);
请参阅:https://msdn.microsoft.com/en-us/library/ff628157(v = sql.105).aspx