Спасибо, я добавил эту функцию, но она тоже не работает

рабатываю приложение Zend. Данные в моей базе данных закодированы в "utf8_unicode_ci". Я объявил в моем application.ini:

resources.view.encoding = "UTF-8"

но всякий раз, когда я пытаюсь получить строку, содержащую специальные символы, такие как

{'é', 'à', 'è', ...} в БД, строка не отображается, если я не использую функцию:utf8_decode()

Поэтому я попытался установить кодировку UTF-8 в:

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;
}

Макет:

$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf8');
echo $this->headMeta();

application.ini:

resources.view.encoding = "UTF-8"
resources.db.params.charset = "utf8"

РЕДАКТИРОВАТЬ: Теперь я могу отображать специальные символы на странице, но когда я получаю элементы из базы данных, специальные символы не отображаются.

экранированная строка возвращаетnull ($this->escape($string))echo $string заменяет специальные символы на?

так что я все еще должен использоватьutf8_decode() чтобы отобразить их. Любое предложение ?

Спасибо за вашу помощь !!

Ответы на вопрос(8)

Ваш ответ на вопрос