使用PHP json_encode时输出阿拉伯语(Unicode)字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP json_encode时输出阿拉伯语(Unicode)字符相关的知识,希望对你有一定的参考价值。
我正在使用json_encode编码阿拉伯语(Unicode)文本,即将每个字母转换为字符串,如 u0627 u0644 u064a u062a u062a u0627 u0627 u062a。
这(对我来说)很烦人,并且大大增加了输出的大小。
我需要一个简单的解决方案来正确输出文本而不将其转换为奇怪的长字符,如上所述。
我的输入数组是:
$array = array(1 => 'اللغة', 2 => 'العربية', 3 => 'تحوّل إلى', 4 => 'جيسون');
我从json_encode得到的输出:
{"1":"u0627u0644u0644u063au0629","2":"u0627u0644u0639u0631u0628u064au0629","3":"u062au062du0648u0651u0644 u0625u0644u0649","4":"u062cu064au0633u0648u0646"}
虽然我希望结果如下:
{"1":"اللغة","2":"العربية","3":"تحوّل إلى","4":"جيسون"}
答案
你要求JSON,因此你得到JSON:在JSON中,某些unicode字符应该用这种方式表示:http://tools.ietf.org/html/rfc4627#section-2.5
除此之外,现在这几个字节并不重要。
另一答案
在json_encode()中使用JSON_UNESCAPED_UNICODE
以上是关于使用PHP json_encode时输出阿拉伯语(Unicode)字符的主要内容,如果未能解决你的问题,请参考以下文章