乌徒帮技术范儿WEB开发PHP › 如何解决 json_encode 汉字编码长度问题

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

分类:PHP

在做 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"}

填写个人信息,赶快回复吧!