>  기사  >  백엔드 개발  >  PHP中使用json_encode处理中文

PHP中使用json_encode处理中文

WBOY
WBOY원래의
2016-07-30 13:31:081358검색

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量。

<code><span><span><?php </span><span>echo</span> json_encode(<span>"中文"</span>);

<span>//"\u4e2d\u6587"</span></span></span></code>

在PHP5.4之前的版本,我们只能通过编写函数实现:

<code><span><span>function</span><span>json_encode_cn</span><span>(<span>$data</span>)</span> {</span><span>$data</span> = json_encode ( <span>$data</span> );
        <span>return</span> preg_replace ( <span>"/\\\u([0-9a-f]{4})/ie"</span>, <span>"iconv('UCS-2BE', 'UTF-8', pack('H*', '$1'));"</span>, <span>$data</span> );
    }</code>

而PHP5.4之后,Json新增了一个选项: JSON_UNESCAPED_UNICODE,故名思议,就是说Json不要编码Unicode:

<code><span><span><?php </span><span>echo</span> json_encode(<span>"中文"</span>, JSON_UNESCAPED_UNICODE);

<span>//"中文"</span></span></span></code>

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PHP中使用json_encode处理中文,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.