繁体   English   中英

PDO DBLIB SQL 服务器 Unicode 问题

[英]PDO DBLIB SQL Server Unicode issue

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

尝试了很多方法,但没有任何帮助。 使用占位符时,不能将N前缀与 pdo 一起使用。 在 pdo 中设置 Unicode 的任何工作方式?

我试过了:

  1. ini_set('default_charset', 'utf-8');
  2. $dsn = "dblib:version=7.0;charset=UTF-8;host={$params['host']};dbname={$params['dbname']}";
  3. $db->exec("set names utf8");

解决了!

代替查询中的占位符写问号 (?) 和 N 前缀将起作用。

例子:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM