当前位置:  开发笔记 > 编程语言 > 正文

PHP PDO:Charset = UTF8:在dsn字符串中指定了无效的关键字字符集

如何解决《PHPPDO:Charset=UTF8:在dsn字符串中指定了无效的关键字字符集》经验,为你挑选了1个好方法。

我使用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版本.



1> Kristian Wil..:

您需要在连接后应用该属性:

$dbhy->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);

请参阅:https://msdn.microsoft.com/en-us/library/ff628157(v = sql.105).aspx


您只需使用另一个参数添加另一个"setAttribute"行.
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有