首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cakephp Sqlserver编码

Cakephp Sqlserver编码
EN

Stack Overflow用户
提问于 2013-11-18 08:01:59
回答 3查看 3.6K关注 0票数 5

这让我很困惑。我正在尝试为我的Sqlserver连接设置编码,而我所尝试的所有尝试都失败了。我只得到

错误:使用"Sqlserver“的数据库连接丢失或无法连接。 数据库服务器返回此错误: SQLSTATEIMSSP:为SQLSRV_ATTR_ENCODING指定了无效编码。

我试图通过编码解决的原始错误是:

错误: SQLSTATEIMSSP:发生错误,将查询字符串转换为UTF-16:目标多字节代码页中不存在Unicode字符的映射。

SQL版本是2008 R2。

Cakephp版本: 2.4.2

PHP版本: 5.3.27

EN

回答 3

Stack Overflow用户

发布于 2013-11-20 03:29:39

经过大量的尝试和错误之后,这是可行的:

代码语言:javascript
运行
复制
public $default = array(
    'datasource'    => 'Database/Sqlserver',
    'persistent'    => false,
    'host'      => 'localhost',
    'login'     => 'sa',
    'password'  => 'password',
    'database'  => 'SchedulingDatabase',
    'encoding'  => PDO::SQLSRV_ENCODING_UTF8
);
票数 10
EN

Stack Overflow用户

发布于 2015-04-03 21:37:24

用Cakephp3.0尝试一下,似乎效果很好。

代码语言:javascript
运行
复制
'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Sqlserver',
        'persistent' => false,
        'host' => 'localhost',
        'port' => '1433', //using this port
        'username' => 'sa',
        'password' => 'password',
        'database' => 'cake_bookmarks',
        'encoding' => PDO::SQLSRV_ENCODING_UTF8,
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
    ]
票数 6
EN

Stack Overflow用户

发布于 2013-11-19 10:06:43

SQL 2008不支持UTF-16只支持SQL 2012

http://msdn.microsoft.com/en-us/library/ms143726(v=sql.110).aspx

MS根本不支持UTF-8。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20042778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档