首页 > 解决方案 > PDO 和 MSSQL,如何设置 utf8 字符集?

问题描述

我在 MSSQL 数据库上使用 PHP,有时我需要为 Intranet 导入一些 SQL 查询。

SQL 查询保存在 .sql 文件中,很简单,例如

INSERT INTO table VALUES ('Do this and that');
INSERT INTO table VALUES ('This has 10% or 20€ discount');

问题是有时导入会由于不支持的字符(% 和 €)而中断。我尝试将连接设置为使用 UTF-8,但它仍然无法正常工作......我猜我使用的方法有问题:

$connExchange = new PDO('dblib:version=7.0;charset=UTF-8;host=' . $host . ';dbname=' . $db, $user, $pass);
$connExchange->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

如何设置连接以使用正确的集合?

我正在使用来自 ubuntu 16.04 存储库的 php7.0.30。

MSSQL 数据库正在使用SQL_Latin1_General_CP1_CI_AS.

标签: phpsql-serverpdophp-7

解决方案


推荐阅读