文档章节

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

_多么痛的领悟
 _多么痛的领悟
发布于 2017/07/25 13:39
字数 134
阅读 6
收藏 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
延庆
程序员
私信 提问
加载中

评论(0)

json_encode转义中文问题

默认情况下php的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式。 这使得数据库查看文本变得很麻烦。所以我们需要限制对于中文的转义。 对于PHP5.4+版本,json_deco...

osc_oj4rjab5
2019/11/26
15
0
让Json更懂中文(JSON_UNESCAPED_UNICODE)

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

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

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

ITCHN
2016/12/19
1.7K
0
JSON_UNESCAPED_UNICODE

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

osc_8s52lc3f
2019/03/02
4
0
解决json_encode中文UNICODE转码问题

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

grushy
2014/10/21
1.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

URL 中文链接 编码错误 完美解决

直接上代码 str = "%25E4%25B8%25AD%25E6%2596%2587";console.log(str);str =decodeURIComponent(decodeURIComponent(str));console.log(str); 输出结果 %25E4%25B8%25AD%25E6%2596%25......

放只虎归个山
36分钟前
17
0
.NET中小数,浮点数和双精度之间的区别? - Difference between decimal, float and double in .NET?

问题: What is the difference between decimal , float and double in .NET? .NET中的decimal , float和double float什么区别? When would someone use one of these? 有人什么时候会使用......

fyin1314
今天
22
0
如何找出Windows上正在侦听端口的进程? - How can you find out which process is listening on a port on Windows?

问题: 如何找出Windows上正在侦听端口的进程? 解决方案: 参考一: https://stackoom.com/question/CXO/如何找出Windows上正在侦听端口的进程 参考二: https://oldbug.net/q/CXO/How-can...

技术盛宴
今天
10
0
OSChina 周三乱弹 —— 一家动物都快饿成标本了~

@黑觉非常君 :前天晚上9点开始睡觉,睡到昨天上午8点起床,昨天下午2点又睡,睡到下午7点多,晚上10点又困了,又睡,睡到今天上午8点,中途没醒过,怎么这么能睡,是不是快挂了。 能睡不是好...

小小编辑
今天
24
0
神剧推荐全剧最污片段精剪

神剧推荐,全剧最污片段精剪 豆瓣评分最高,脑洞最大,脑回路最曲折,恶搞无数经典,没有一条差评的神剧 整个系列完整版 到这里观看

a57571735
今天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部