加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 17:24:23 所属栏目:PHP教程 来源:网络整理
导读:我使用sqlsrv驱动程序连接到带有PDO的MS SQL服务器. PHP版本是5.3.24. 工作连接如下所示: $dsny = "sqlsrv:Server=xx1;Database=xx2";$usery = 'xx3';$passwordy = 'xx4';$dbhy = new PDO($dsny,$usery,$passwordy); ** 但我需要设置字符,然后我尝试这个:
我使用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,$passwordy);

当我添加charset时,我收到此错误:
“致命错误:带有消息’SQLSTATE [IMSSP]的未捕获异常’PDFException’:在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读