我希望查询“SET NAMES utf8”在任何其他查询之前执行。
但是,如果我在我的应用程序的开头执行它,它会强制 Zend_Db 连接到数据库,即使我没有运行任何其他查询。这并不酷:我的应用程序处理大量请求而没有任何查询,只使用缓存。
如何让 Zend_Db 在连接后立即运行 'SET NAMES utf8'?
我希望查询“SET NAMES utf8”在任何其他查询之前执行。
但是,如果我在我的应用程序的开头执行它,它会强制 Zend_Db 连接到数据库,即使我没有运行任何其他查询。这并不酷:我的应用程序处理大量请求而没有任何查询,只使用缓存。
如何让 Zend_Db 在连接后立即运行 'SET NAMES utf8'?
当然,只需将 '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
检查此链接以获取配置选项,它更容易 如何让 PDO 在我每次连接时运行 SET NAMES utf8,在 ZendFramework 中。