0

我希望查询“SET NAMES utf8”在任何其他查询之前执行。

但是,如果我在我的应用程序的开头执行它,它会强制 Zend_Db 连接到数据库,即使我没有运行任何其他查询。这并不酷:我的应用程序处理大量请求而没有任何查询,只使用缓存。

如何让 Zend_Db 在连接后立即运行 'SET NAMES utf8'?

4

2 回答 2

4

当然,只需将 'charset' 选项与适配器参数一起传递。您可以通过 Zend_Config 或在代码中执行此操作:

$params = array(
    'host'           => '127.0.0.1',
    'username'       => 'webuser',
    'password'       => 'xxxxxxxx',
    'dbname'         => 'test',
    'charset'        => 'utf8'
);

$db = Zend_Db::factory('Pdo_Mysql', $params);

参考: http: //framework.zend.com/manual/en/zend.db.html#zend.db.adapter.connecting.parameters

于 2009-10-23T21:56:50.493 回答
0

检查此链接以获取配置选项,它更容易 如何让 PDO 在我每次连接时运行 SET NAMES utf8,在 ZendFramework 中。

于 2009-10-24T19:29:42.347 回答