PDO和MSSQL,如何设置utf8字符集?

时间:2018-07-11 14:02:40

标签: php sql-server pdo php-7

我正在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);

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

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

MSSQL数据库正在使用SQL_Latin1_General_CP1_CI_AS

1 个答案:

答案 0 :(得分:0)

$connExchange->exec("SET NAMES 'utf8'");

应该做的工作