• 技术文章 >后端开发 >PHP问题

    关于​PHP json_decode中文转义的问题

    藏色散人藏色散人2020-10-09 11:10:45原创69

    php json decode转义的使用方法:首先使用语句“json_encode($a, JSON_UNESCAPED_UNICODE);”把特殊字符进行转义;然后通过该函数的第二个参数限制转义范围即可。

    推荐:《PHP视频教程

    PHP json_decode中文转义的问题

    默认情况下PHP的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式。在有些情况下不希望进行这种转义。

    对于PHP5.4+版本,json_decode函数第二个参数,可以用来限制转义范围。要限制中文,使用JSON_UNESCAPED_UNICODE参数。

    json_encode($a, JSON_UNESCAPED_UNICODE);

    对于PHP5.3及以前版本,可以用如下方式转回中文:

    $originstr = '{"name":"张三"}';
    $jsonobject = json_decode($originstr);
    // badstr: {"name":"\u5f20\u4e09"}
    $badstr = json_encode($jsonobject);
    // goodstr: {"name":"张三"} 
    $goodstr = preg_replace_callback("#\\\u([0-9a-f]{4})#i", function($matches){
      return iconv('UCS-2', 'UTF-8', pack('H4', $matches[1]));
      }, $badstr);

    以上就是关于​PHP json_decode中文转义的问题的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php 转义
    上一篇:linux php没有mysql数据库 下一篇:php报错级别如何设置
    第13期线上培训班

    相关文章推荐

    • php json decode中文乱码怎么办• 了解PHP中json_encode与json_decode的区别• 浅析PHP中json_encode、json_decode与serialize、unserialize的性能测试• PHP中json_decode函数中文乱码如何解决?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网