我正在使用json_encode编码阿拉伯语(Unicode)文本,即将每个字母转换为字符串,如\ u0627 \ u0644 \ u064a \ u062a \ u062a \ u0627 \ u0627 \ u062a。
这(对我来说)很烦人,并且大大增加了输出的大小。
我需要一个简单的解决方案来正确输出文本而不将其转换为奇怪的长字符,如上所述。
我的输入数组是:
$array = array(1 => 'اللغة', 2 => 'العربية', 3 => 'تحوّل إلى', 4 => 'جيسون');
我从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"}
虽然我希望结果如下:
{"1":"اللغة","2":"العربية","3":"تحوّل إلى","4":"جيسون"}
你要求JSON,因此你得到JSON:在JSON中,某些unicode字符应该用这种方式表示:http://tools.ietf.org/html/rfc4627#section-2.5
除此之外,现在这几个字节并不重要。
在json_encode()中使用JSON_UNESCAPED_UNICODE