Вот как я получаю идентификатор из базы данных:Zend_Auth_Adapter_DbTable UTF-8
$adapter = new Zend_Auth_Adapter_DbTable(Zend_Registry::get('dbAdapter'));
$adapter->setTableName('clients');
$adapter->setIdentityColumn('email');
$adapter->setCredentialColumn('password_hash');
// etc
$client = $adapter->getResultRowObject(null, array('password_hash'));
Zend_Session::rememberMe(604800);
// store client object in the session
$authStorage = $auth->getStorage();
$authStorage->write($client);
Проблема с этим состоит в том, что getResultRowObject() возвращает объект с перепутались диакритиками. В моей базе данных есть кодировка UTF-8, а также все мои таблицы.
Таким образом, вместо:
Košice
я получаю:
Košice
Это, как я создаю адаптер DB:
protected function _initDb()
{
$this->configuration = new Zend_Config_Ini(APPLICATION_PATH
. '/configs/application.ini',
APPLICATION_ENVIRONMENT);
$this->dbAdapter = Zend_Db::factory($this->configuration->database);
Zend_Db_Table_Abstract::setDefaultAdapter($this->dbAdapter);
$stmt = new Zend_Db_Statement_Pdo($this->dbAdapter,
"SET NAMES 'utf8'");
$stmt->execute();
}
Какая кодировка на вашей странице? –