客户端对中文的处理是使用utf-8内码的,并且json对中文的处理也是使用utf-8,因此,ajax->php的时候,php需要utf8->gbk;php处理好后,在交给json函数处理,之前需要gbk->utf8,然后将结果php->ajax.
- <?php
- $code = json_encode($str);
- $code = preg_replace("#u([0-9a-f]+)#ie", "iconv('ucs-2', 'utf-8',
- pack('h4', '1'))", $code);
- ?>
json_encode() 给含有中文的内容进行编码时,会出现类似于u5c71u4e1c这样的代码,虽然使用jquery或者json_decode()进行解码的时候,下面看个实例:
- <?php
- $json = array (
- 0 =>
- array (
- 'id' => '13',
- 'name' => '乒乓球',
- ),
- 1 =>
- array (
- 'id' => '17',
- 'name' => '篮球',
- )
- )
- ?>
- <?php
- [{"id":"13","name":null}
- ,{"id":"13","name":null}]
- ?>
|