Yii2 dblib 连接字符集
Yii2 dblib connection charset
我可以连接到数据库,但字符集错误。它是微软服务器数据库(mssql)。
<?php return array (
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=*******;port=1433;dbname=*******;charset=utf8',
'username' => '**********',
'password' => '**********',
'charset' => 'utf8',
); ?>
如果我像这样使用 mb_convert_encoding,那么我会得到正确的字符,但我怎样才能正确连接?
print_r(mb_convert_encoding($dbString, 'utf-8', "iso-8859-1"));
首先在服务器上检查是否安装了驱动php_mssql和php_pdo_mssql。
检查 phpinfo() 的输出以确保...
'db'=>array(
'connectionString' => 'dblib:host=localhost;dbname=test123',
'emulatePrepare' => false, // comment this if it cause any issue
'username' => 'XXXX',
'password' => 'XXXXX',
'charset' => 'utf8',
),
或其他
可能问题出在 sql 服务器本身,如果您使用 sqlserver 2000,其中 sqlsrv 驱动程序可能不兼容,请检查。如果不迁移到 sqlserver 2008 或任何可兼容的版本可能会顺利运行。
我可以连接到数据库,但字符集错误。它是微软服务器数据库(mssql)。
<?php return array (
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=*******;port=1433;dbname=*******;charset=utf8',
'username' => '**********',
'password' => '**********',
'charset' => 'utf8',
); ?>
如果我像这样使用 mb_convert_encoding,那么我会得到正确的字符,但我怎样才能正确连接?
print_r(mb_convert_encoding($dbString, 'utf-8', "iso-8859-1"));
首先在服务器上检查是否安装了驱动php_mssql和php_pdo_mssql。
检查 phpinfo() 的输出以确保...
'db'=>array(
'connectionString' => 'dblib:host=localhost;dbname=test123',
'emulatePrepare' => false, // comment this if it cause any issue
'username' => 'XXXX',
'password' => 'XXXXX',
'charset' => 'utf8',
),
或其他
可能问题出在 sql 服务器本身,如果您使用 sqlserver 2000,其中 sqlsrv 驱动程序可能不兼容,请检查。如果不迁移到 sqlserver 2008 或任何可兼容的版本可能会顺利运行。