PHP 输出中文 JSON 字符串

<p >PHP 和 JavaScript 交互其实很方便,PHP 原生也提供了对 JSON 格式的支持。主要包括 JSON 编码和解码两个函数:</p> <pre > json_endoce: <a href="http://cn.php.net/json_encode" target="_blank">http://cn.php.net/json_encode</a> json_dedoce: <a href="http://cn.php.net/json_decode" target="_blank">http://cn.php.net/json_decode</a></pre> <p >json_encode &mdash; 对变量进行 JSON 编码,并返回 value 值的 JSON 形式,例如:</p> <pre > <!--?php $arr = array ('a'=-->1,&#39;b&#39;=&gt;2,&#39;c&#39;=&gt;3,&#39;d&#39;=&gt;4,&#39;e&#39;=&gt;5); echo json_encode($arr); ?&gt;</pre> <p >以上代码执行后输出:</p> <pre > {&quot;a&quot;:1,&quot;b&quot;:2,&quot;c&quot;:3,&quot;d&quot;:4,&quot;e&quot;:5}</pre> <p >假如要编码的数据源(一般是一个数组),value 中包含中文,经过<span class="Apple-converted-space"></span><code >json_encode</code><span class="Apple-converted-space"></span>处理后输出的是 unicode 编码。</p> <pre > <!--?php $arr = array ('a'=-->&#39;芒果小站&#39;); echo json_encode($arr); ?&gt;</pre> <p >以上代码执行后输出:</p> <pre > {&quot;a&quot;:&quot;u8292u679Cu5C0Fu7AD9&quot;}</pre> <p >PHP 底层已经做了 unicode 处理,如果嫌它不够直观,可以利用<span class="Apple-converted-space"></span><code >urlencode</code><span class="Apple-converted-space"></span>和<span class="Apple-converted-space"></span><code >urldecode</code><span class="Apple-converted-space"></span>方法绕过这个转码为 unicode 的过程:</p> <pre > $arr = array (&#39;a&#39;=&gt;urlencode(&#39;芒果小站&#39;)); echo urldecode(json_encode($arr));</pre> <p >以上代码执行后输出:</p> <pre > {&quot;a&quot;:&quot;芒果小站&quot;}</pre> <p></p>
返回顶部 留言