文档章节

解决PHP5.4版本以下json_encode转义中文的情况

_多么痛的领悟
 _多么痛的领悟
发布于 2017/07/25 13:39
字数 134
阅读 5
收藏 0
function json_encode_ex($var) {
  if ($var === null)
      return 'null';

  if ($var === true)
      return 'true';
  if ($var === false)
      return 'false';
  static $reps = array(
      array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"', ),
      array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"', ),
  );
  if (is_scalar($var))
      return '"' . str_replace($reps[0], $reps[1], (string) $var) . '"';
  if (!is_array($var))
      throw new Exception('JSON encoder error!');
  $isMap = false;
  $i = 0;
  foreach (array_keys($var) as $k) {
      if (!is_int($k) || $i++ != $k) {
          $isMap = true;
          break;
      }
  }
  $s = array();
  if ($isMap) {
      foreach ($var as $k => $v)
          $s[] = '"' . $k . '":' . call_user_func(__FUNCTION__, $v);
      return '{' . implode(',', $s) . '}';
  } else {
      foreach ($var as $v)
          $s[] = call_user_func(__FUNCTION__, $v);
      return '[' . implode(',', $s) . ']';
  }
}

© 著作权归作者所有

共有 人打赏支持
_多么痛的领悟
粉丝 0
博文 64
码字总数 10258
作品 0
延庆
程序员
让Json更懂中文(JSON_UNESCAPED_UNICODE)

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式, 还会在一定程度上增加传输的数据量. <?phpecho json_encode("中文"); //Output: "u4e2...

Junn
2014/03/12
0
0
echo json_encode() 输出中文不显示

PHP默认的jsonencode编码出来的是unicode编码的,也就是u的编码,用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 虽然unicode编码可以在不同的页面...

ITCHN
2016/12/19
35
0
解决json_encode中文UNICODE转码问题

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了...

grushy
2014/10/21
0
0
json_encode不对中文进行转码、json_decode解析json字符串返回NULL的处理方法

josn_encode不对中文进行转码 用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 在PHP5.4及以上, Json新增了一个选项: JSONUNESCAPED_UNICODE, 故名...

anda0109
2017/10/15
0
0
让Json更懂中文 JSON_UNESCAPED_UNICODE

我们知道,用PHP的json_encode( )来处理中文的时候,中文都会被编码,变成不可读的,类似“ u ***”的格式,还会在一定程度上增加传输的数据量。 这就让我们这些在天朝做开发的同学,很是头疼...

度_
07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
0
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
21
5
centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部