如何解決json_encode 漢字編碼長度問題
在做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"}