¿Cómo configurar charset para UTF-8 en una aplicación Zend?
Estoy desarrollando una aplicación Zend. Los datos en mi base de datos están codificados en "utf8_unicode_ci". Declaré en mi application.ini:
resources.view.encoding = "UTF-8"
pero cada vez que intento recuperar una cadena que contiene caracteres especiales como
{'é', 'à', 'è', ...} en la base de datos, la cadena no se muestra a menos que use la función:utf8_decode()
Así que traté de configurar el juego de caracteres en UTF-8 en:
Bootstrap:
protected function _initDoctype() {
$this->bootstrap('view');
$view = $this->getResource('view');
$view->doctype('XHTML_STRICT');
$view->setEncoding('UTF-8');
}
protected function _initFrontControllerOutput() {
$this->bootstrap('FrontController');
$frontController = $this->getResource('FrontController');
$response = new Zend_Controller_Response_Http;
$response->setHeader('Content-Type', 'text/html; charset=UTF-8', true);
$frontController->setResponse($response);
$frontController->setParam('useDefaultControllerAlways', false);
return $frontController;
}
Diseño
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf8');
echo $this->headMeta();
application.ini:
resources.view.encoding = "UTF-8"
resources.db.params.charset = "utf8"
EDIT: ahora puedo mostrar caracteres especiales en una página, pero cuando recupero elementos de la base de datos, no se muestran caracteres especiales.
una cadena escapada devuelvenull
($this->escape($string)
)echo $string
sustituye caracteres especiales con?
so todavía tengo que usarutf8_decode()
para mostrarlos. Cualquier sugerencia
gracias por tu ayuda !