博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP的json_encode中文被转码的问题
阅读量:6408 次
发布时间:2019-06-23

本文共 994 字,大约阅读时间需要 3 分钟。

hot3.png

在php5.2中做json_encode的时候。中文会被unicode编码,php5.3加入了options参数,5.4以后才加入JSON_UNESCAPED_UNICODE,这个参数,不需要做escape和unicode处理。所以在5.4之前都需要对中文做个处理5.4里面的处理Php代码   收藏代码    json_encode($str, JSON_UNESCAPED_UNICODE);  5.4之前,有两种方法处理方法1.Php代码   收藏代码    function encode_json($str){          $code = json_encode($str);          return preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $code);      }  方法1.在实际应用中有个问题,部分字符会掉,不止为何,如字符串:"日期11.2"会被变成"日期.2"方法2.先对需要处理的做urlencode处理,然后json_encode,最后做urldecode处理Php代码   收藏代码    function encode_json($str) {          return urldecode(json_encode(url_encode($str)));          }            /**      *       */      function url_encode($str) {          if(is_array($str)) {              foreach($str as $key=>$value) {                  $str[urlencode($key)] = url_encode($value);              }          } else {              $str = urlencode($str);          }                    return $str;      }

转载于:https://my.oschina.net/yoyo1987/blog/352080

你可能感兴趣的文章
QCustomplot使用分享(三) 图
查看>>
什么是java?
查看>>
office等资料下载
查看>>
[LeetCode]题解(python):149-Max Points on a Line
查看>>
WPF路径动画(动态逆向动画)
查看>>
ESXi 主机创建datastore失败
查看>>
day3-函数介绍
查看>>
Low Level Reader Protocol (LLRP) 简介
查看>>
[Micropython]TPYBoard v10x NRF24L01无线通讯模块使用教程
查看>>
mysql中show processlist过滤和杀死线程
查看>>
dxRangeTrackBar使用教程
查看>>
最新Sublime Text 2 激活 汉化
查看>>
spring为什么推荐使用构造器注入
查看>>
C# 使用反射 遍历输出 对象的属性
查看>>
基础数据类型之字典
查看>>
第七次作业
查看>>
Oracle中NVARCHAR2与VARCHAR2的区别
查看>>
php debug
查看>>
Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
查看>>
站长福利:网站内容设置扫码打赏后才能看啦!
查看>>