2011-06-22 30 views
5

thường trong một hành động XHR tôi sử dụng mã nàyứng dụng đáp ứng Zend/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)); 

Tôi tự hỏi nếu nó cần utf-8 mã hóa như thế này

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

Trả lời

12

Sẽ thực hành tốt để làm như vậy. Bạn có thể không thấy bất kỳ vấn đề nếu bạn không. Nó phụ thuộc vào loại dữ liệu bạn đang gửi.

có một cách ngắn hơn nhiều để làm những gì bạn đang làm (Vô hiệu hóa bố trí và thiết lập các tiêu đề bên phải):

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

trong chế độ xem/trợ giúp Tôi chỉ thấy $ response = Zend_Controller_Front :: getInstance() -> getResponse(); $ response-> setHeader ('Content-Type', 'application/json', true); trả lại $ data; vì vậy ..... – Whisher

+0

btw cảm ơn câu trả lời :) – Whisher

+0

Có vẻ như 'sendJson' không được đặt cho phép bạn đặt một bộ ký tự cụ thể (ví dụ: utf-8). – Till

Các vấn đề liên quan