Php PDO DBLIB SQL Server Unicode问题

Php PDO DBLIB SQL Server Unicode问题,php,sql-server,pdo,Php,Sql Server,Pdo,当我将数据插入SQL Server时,拉丁字母被添加为疑问字符 尝试了很多方法,但没有一种得到帮助。使用占位符时,不能将N前缀与pdo一起使用。有没有在pdo中设置Unicode的有效方法 我试过: ini\u集(“默认字符集”、“utf-8”) $dsn=“dblib:version=7.0;charset=UTF-8;host={$params['host']};dbname={$params['dbname']}” $db->exec(“设置名称utf8”) 解决了 使用问号(?)和N前缀

当我将数据插入SQL Server时,拉丁字母被添加为疑问字符

尝试了很多方法,但没有一种得到帮助。使用占位符时,不能将
N
前缀与pdo一起使用。有没有在pdo中设置Unicode的有效方法

我试过:

  • ini\u集(“默认字符集”、“utf-8”)
  • $dsn=“dblib:version=7.0;charset=UTF-8;host={$params['host']};dbname={$params['dbname']}”
  • $db->exec(“设置名称utf8”)
  • 解决了

    使用问号(?)和N前缀代替查询中的占位符

    例如:

    $sql = "UPDATE [dbo].[myTable] SET name=N?, xml_data=? WHERE id=?";
    $result = $db->prepare($sql);
    return $result->execute(array($name, $xml, $id));
    

    您可以尝试更改驱动程序(SQL Server的PHP驱动程序是一个不错的选择)。谢谢您的回复。但一开始我用的是pdo。pdo没有任何方法为SQL Server设置unicode?