PHP的Json中文处理解决方案

yipeiwu_com7年前PHP代码库

本文讲述了PHP的Json中文处理解决方案。分享给大家供大家参考,具体如下:

Json是现在被广泛使用的用于传递字符串的格式,相比xml更显得简单易懂以及更方便操作,php下就俩个函数,json_encode() AND json_deconde()。不过json对中文的支持并不是很好,如果使用json_encode()处理如数组,数组中若存在中文,则会作空白处理。

解决中文的一种方法就是先将中文转换为另一种编码格式,然后再使用json_encode(),最后再用解码把json串进行解码。还有一种方式就在php新版本中得到了解决,在下面的代码为展示。

以下为代码示例

<?php
  header("Content-type:text/html;charset=utf-8");
  $arrayName = array('city' => '广东','goods'=>'cookies' );
  $arr = json_encode($arrayName);
  echo $arr."</br>";
  var_dump(json_decode($arr));
  echo "</br>";
  echo urldecode(json_encode(ch_json($arrayName)))."</br>";
/*
  需要php版本在5.4以上
  echo json_encode($arrayName,JSON_UNESCAPED_UNICODE);
*/
  function ch_json($arr){
    if(is_array($arr)){
      foreach ($arr as $key => $value) {
        $arr[urlencode($key)] = ch_json($value);
      }
    }else{
      return urlencode($arr);
    }
    return $arr;
  }
?>

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php防止sql注入之过滤分页参数实例

本文实例讲述了php防止sql注入中过滤分页参数的方法。分享给大家供大家参考。具体分析如下: 就网络安全而言,在网络上不要相信任何输入信息,对于任何输入信息我们都必须进行参数过滤。对此,...

PHP中散列密码的安全性分析

本文实例讲述了PHP中散列密码的安全性。分享给大家供大家参考,具体如下: php的基本哈希函数已经不再安全? php手册中有专门的一个部分来介绍这个问题 http://php.net/m...

PHP中ADODB类详解

 虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使...

php投票系统之增加与删除投票(管理员篇)

php投票系统之增加与删除投票(管理员篇)

关于投票系统怎么样怎么样的引言就不多说,这不是毕业设计,主要说一下使用php实现投票系统,与其他普通系统一样,分为两部分,一个是管理员部分,一个是普通用户部分。 关于投票系统的管理部分,...

PHP登录环节防止sql注入的方法浅析

在防止sql注入这些细节出现问题的一般是那些大意的程序员或者是新手程序员,他们由于没有对用户提交过来的数据进行一些必要的过滤,从而导致了给大家测试的时候一下就攻破了你的数据库,下面我们来...