[英]PDO DBLIB SQL Server Unicode issue
When I insert data to SQL Server, latin letters are added as interrogative characters.当我将数据插入 SQL 服务器时,拉丁字母被添加为疑问字符。
Tried lots of ways, but none was helped.尝试了很多方法,但没有任何帮助。 Cannot use
N
prefix with pdo, when use placeholders.使用占位符时,不能将
N
前缀与 pdo 一起使用。 Any working ways to set Unicode in pdo?在 pdo 中设置 Unicode 的任何工作方式?
I tried:我试过了:
ini_set('default_charset', 'utf-8');
$dsn = "dblib:version=7.0;charset=UTF-8;host={$params['host']};dbname={$params['dbname']}";
$db->exec("set names utf8");
Solved!
解决了!
Instead of placeholders in query write question marks (?) and N prefix will work.代替查询中的占位符写问号 (?) 和 N 前缀将起作用。
Example:例子:
$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.