Estou usando json_encode para codificar texto árabe (Unicode), que está convertendo cada letra em uma string como \ u0627 \ u0644 \ u0633 \ u064a \ u0627 \ u0631 \ u0627 \ u062a.
Isso (para mim) é irritante e aumenta dramaticamente o tamanho da saída.
Eu preciso de uma solução simples para exibir o texto corretamente sem convertê-lo em caracteres esquisitos longos como acima.
Minha matriz de input é:
$array = array(1 => 'اللغة', 2 => 'العربية', 3 => 'تحوّل إلى', 4 => 'جيسون');
A saída que eu recebo do json_encode:
{"1":"\u0627\u0644\u0644\u063a\u0629","2":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","3":"\u062a\u062d\u0648\u0651\u0644 \u0625\u0644\u0649","4":"\u062c\u064a\u0633\u0648\u0646"}
Enquanto espero que o resultado seja:
{"1":"اللغة","2":"العربية","3":"تحوّل إلى","4":"جيسون"}
Você está pedindo JSON e assim você obtém JSON: Em JSON, certos personagens unicode devem ser representados exatamente desta maneira: http://tools.ietf.org/html/rfc4627#section-2.5
Além disso, esses poucos bytes mais realmente não importam hoje em dia.
Use JSON_UNESCAPED_UNICODE dentro de json_encode ()