首页 » 网站推广 » phparrayurlencode技巧_推送微信消息中文乱码解决方法和经由进程递归对数组进行urlencode

phparrayurlencode技巧_推送微信消息中文乱码解决方法和经由进程递归对数组进行urlencode

访客 2024-12-08 0

扫一扫用手机浏览

文章目录 [+]

避免涌现乱码最大略的办法是在json_encode方法里加入JSON_UNESCAPED_UNICODE参数,让json_encode方法不将中文转换为unicode编码,但是,json_encode函数只有在php5.4往后的版本才支持这个参数,在某些天生环境,用的是老版本的php,没办法直接加JSON_UNESCAPED_UNICODE参数,只能用别的方法办理。

用的方法是先将字符串进行urlencode,然后再实行json_encode,在得到json字符串后,再urldecode一下得到终极没有乱码的字符串。

phparrayurlencode技巧_推送微信消息中文乱码解决方法和经由进程递归对数组进行urlencode

常日我们推送微信的时候,都是将数组转换为json,如果是一维数组,我们在用urlencode时,可以直接通过下面的代码实现:

phparrayurlencode技巧_推送微信消息中文乱码解决方法和经由进程递归对数组进行urlencode
(图片来自网络侵删)

<?php

$dataAry = [\公众title\公众 => \"大众中文标题\"大众, \公众desc\"大众 => \"大众中文描述\公众,\"大众content\"大众=>\"大众中文正文\"大众];

$encodeAry = array_map('urlencode', $dataAry);

$jsonStr = json_encode($encodeAry);

var_dump($jsonStr);

$decodeStr = urldecode($jsonStr);

var_dump($decodeStr);

?>

但是,我们常日数组构造是多维的,也便是数组里包含有数组,这时,利用array_map('urlencode',$dataAry)方法就会出错,会提示:Warning: urlencode() expects parameter 1 to be string, array given。

这时,如果是多级数组进行urlencode时,只能自己写一个方法递归进行处理了,方法内容如下:

<?phpfunction array_urlencode(&$ary){ foreach ($ary as $k => $v) { if (is_array($v)) { array_urlencode($ary[$k]); }else{ $ary[$k]=urlencode($v); } }}$dataAry = [ \"大众article1\"大众=>[\"大众title\"大众 => \公众中文标题\"大众, \公众desc\公众 => \公众中文描述\"大众,\"大众content\"大众=>\"大众中文正文\公众], \"大众article2\"大众=>[\公众title\"大众 => \公众中文标题\"大众, \"大众desc\"大众 => \"大众中文描述\"大众,\公众content\公众=>\"大众中文正文\"大众], ];array_urlencode($dataAry);$jsonStr = json_encode($dataAry);var_dump($jsonStr);$decodeStr = urldecode($jsonStr);var_dump($decodeStr);?>

标签:

相关文章

今日头条算法引领个化信息时代的变革

信息爆炸时代已经到来。每个人都是信息的接收者和传播者。面对海量的信息,人们往往感到无所适从。为了解决这一问题,各大互联网公司纷纷推...

网站推广 2025-01-31 阅读1 评论0

今日头条算法信息推荐的秘密武器

信息爆炸的时代已经来临。人们每天都会接触到大量的信息,而如何从这些信息中筛选出有价值的内容,成为了亟待解决的问题。今日头条算法作为...

网站推广 2025-01-31 阅读1 评论0

今日头条算法精准推荐背后的技术奥秘

信息爆炸的时代已经来临。我们每天都要面对海量的信息,如何从这些信息中筛选出自己感兴趣的内容,成为了每个人都关心的问题。今日头条作为...

网站推广 2025-01-31 阅读1 评论0