zend_db запрос при подключении

Я хочу, чтобы запрос «SET NAMES utf8» выполнялся перед любыми другими запросами.

Но если я выполню его в начале своего приложения, Zend_Db будет вынужден подключиться к базе данных, даже если я не выполняю никаких других запросов. Это не круто: мое приложение обрабатывает множество запросов без каких-либо запросов, только используя кеш.

Как заставить Zend_Db запускать SET NAMES utf8 сразу после подключения?


person Valentin Golev    schedule 23.10.2009    source источник


Ответы (2)


Конечно, просто передайте параметр 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

person David Snabel-Caunt    schedule 23.10.2009
comment
Np - это явно не описано в руководстве, но, безусловно, общее требование! Больше вопросов по SO облегчит всем :) - person David Snabel-Caunt; 24.10.2009

проверьте эту ссылку для параметра конфигурации, это проще Как заставить PDO запускать SET NAMES utf8 при каждом подключении в ZendFramework.

person tawfekov    schedule 24.10.2009