IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    如何解决 json_encode 汉字编码长度问题

    Denis | 邓鸿华发表于 2023-12-11 03:53:30
    love 0

    在做 iPhone 应用的时候,给用户推送信息的时候,最多只能 255 个字符。如果传送的汉字是使用默认的 json_encode 来编码的话,这样的编码出来的是 unicode 编码的,也就是\u的编码,一个汉字是 \u+4个字符,共占 6 个字符,这样扣除其他一些信息,差不多只能 PUSH 不到 30 个文字。

    所以不能直接使用 json_encode 方法来编码,解决方案是:先把汉字 urlencode,然后再使用 json_encode,最后再次使用urldecode 来解码,这样编码出来的 JSON 数组中的汉字就不会出现 unicode 编码。

    
    $push= array(
    	'alert'=>urlencode("测试")
    );
    $push = json_encode($push);
    echo urldecode($push);
    //{"test":"测试"},默认为:{"test":"\u6d4b\u8bd5"}
    

    © WordPress果酱 / RSS 订阅 / 长期承接 WordPress 项目



沪ICP备19023445号-2号
友情链接