php接收多层数组中文乱码解决

来源:互联网 发布:eagle软件 编辑:程序博客网 时间:2024/06/07 02:46

传参数:

    Map<String, String> param = newHashMap<String, String>();

                param.put("biaoshi", "bjyz");

                param.put("action", "add");

                param.put("plan[week]", "1,2,3");//周一,周二,周三,多个日期用逗号隔开,单个就不用了

                param.put("plan[name]", "阅读asd");//借阅计划名称

 

注意:转换$_REQUEST,就要用$_REQUEST参数,用post就不行,因为没转换。

 

举例:

'people'=>$_REQUEST['username'],
'mobile' =>$_REQUEST['mobile'],
'week' =>$_POST[order][week],
'memo' =>$_REQUEST[order][memo],

 

代码:

arrayRecursive($_REQUEST,"togbk");

 

function arrayRecursive(&$array,$function,$apply_to_keys_also =false)
{
   
foreach($arrayas $key=>$value){
       
if(is_array($value)) {
            arrayRecursive(
$array[$key],$function,$apply_to_keys_also);
        }
else{
           
//echo $key. $function($value)."\n";
           
$tstr= str_replace(array("\r\n","\r","\n"),"",$value);
          
//$str= togbk($tstr);
           
$str=$function($tstr);
           
$array[$key]=$str;
        }
       
if($apply_to_keys_also&& is_string($key)) {
           
$new_key=$function($key);
           
if($new_key!= $key) {
               
$array[$new_key]=$array[$key];
               
unset($array[$key]);
            }
        }
    }
}

0 0