2009-10-23 2 views
0

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

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

Как спросить Zend_Db запустить «УСТАНОВИТЬ НАЗВАНИЯ utf8» сразу после соединения?

ответ

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

+0

О, спасибо. Я собираюсь написать RTFM на моем мониторе :) –

+1

Np - это явно не описано в руководстве, но общее требование обязательно! Больше вопросов по SO облегчит для всех :) –