2011-06-22 12 views
5

zwykle w akcji XHR mam użyć tego koduaplikacja Zend odpowiedź/json UTF-8

$this->_helper->layout->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(true); 
$response = $this->getResponse(); 
$response->setHeader('Content-type', 'application/json', true); 
return $response->setBody(Zend_Json::encode($data)); 

Zastanawiam się, czy to potrzebne kodowanie UTF-8, jak to

$response->setHeader('Content-type', 'application/json;charset=UTF-8', true); 

Odpowiedz

12

Byłoby Dobra praktyka, aby to zrobić. Jeśli tego nie zrobisz, nie zobaczysz żadnych problemów. To zależy od rodzaju wysyłanych danych.

jest znacznie krótsza droga do tego, co robisz (wyłączenie układów i ustawia odpowiednie nagłówki):

$this->_helper->json->sendJson($data); 
+0

w widoku/pomocnika Widzę tylko $ response = Zend_Controller_Front :: getInstance() -> getResponse(); $ response-> setHeader ("Content-Type", "application/json", true); return $ data; więc ..... – Whisher

+0

btw dziękuję za odpowiedź :) – Whisher

+0

Wygląda na to, że 'sendJson' nie ustawił pozwala ustawić określony zestaw znaków (np. utf-8). – Till