我正在開發一個Zend應用程序。我的數據庫中的數據編碼爲「utf8_unicode_ci」。 我在的application.ini聲明:如何在Zend應用程序中將字符集設置爲UTF-8?
resources.view.encoding = "UTF-8"
,但每當我試圖檢索包含特殊字符的字符串像
{ 'E', 'A', 'E',...}中分貝,字符串不顯示,除非我使用的功能:utf8_decode()
於是,我就字符集的設置爲UTF-8:
引導:
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()
顯示它們。任何建議?
感謝您的幫助!
順便說一句,我的源文件編碼設置爲UTF-8 – 2011-06-08 08:35:44