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