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

2023-04-15 10:31:03 浏览数 (3)

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

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

代码语言:javascript复制
$push= array(
	'alert'=>urlencode("测试")
);
$push = json_encode($push);
echo urldecode($push);
//{"test":"测试"},默认为:{"test":"u6d4bu8bd5"}

0 人点赞