Cómo convertir texto UTF-8 en formato JSON

Estaba trabajando en un proyecto que tenía problemas al codificar texto UFT-8 en formato JSON

"测试", 'عربي'=>4, 'lemon'=>22); echo json_encode($result); 

y también probé Zend_JSON Library,

 "测试", 'عربي'=>4, 'lemon'=>22); echo Zend_Json::encode($result); 

en ambos casos, la salida JSON era una locura:

 {"wine":"\u0639\u0631\u0628\u064a ","\u0639\u0631\u0628\u064a":4,"lemon":22} 

lo intenté en PHP5.2.6 y PHP5.3 pero el mismo resultado …

¿Cómo convierto texto UTF-8 en JSON? ¿Alguna sugerencia?

Esa es una notación unicode entendida por javascript / ecmascript. Tratar

   unicode test    

para ver por ti mismo

http://www.ecmascript.org/docs/tc39-2009-043.pdf (página 14):

En literales de cadena, literales de expresiones regulares e identificadores, cualquier carácter (unidad de código) también se puede express como una secuencia de escape Unicode que consta de seis caracteres, es decir, \ u más cuatro dígitos hexadecimales.

¿Qué es exactamente loco por la salida?

 var b = {"wine":"\u0639\u0631\u0628\u064a ", test:"\u0639\u0631\u0628\u064a","lemon":22}; alert (b.wine); 

Ese código parece mostrar con éxito عربي