迪尔课堂使用火车头发布DEDECMS 5.5 出现乱码的解决办法_dedecms_CMS教程_迪尔课堂

但发布到DEDE 5.5的时候,自带的程序默认的是发布文章的版块。而我做的是下载站。去网上DOWN了个不错的模块,针对DEDE 5.1、5.3、5.5通用的一个模板。里面有全部文章,商品,下载等所有模板。 下载地址:https://www.jb51.net/softs/26772.htmlfO1迪尔课堂自学网-|第二课堂|--(官网)
接着继续发布,到发布的时候又有一个问题,发现发布的文章是乱码。这个地方需要修改一个文件,打开DEDE目录下的config.php 在最后一行加入: fO1迪尔课堂自学网-|第二课堂|--(官网)
fO1迪尔课堂自学网-|第二课堂|--(官网)
//给POST变量做转码处理,适用于火车采集器中Urlencode发布的内容 fO1迪尔课堂自学网-|第二课堂|--(官网)
foreach($_POST as $key=>$value){ fO1迪尔课堂自学网-|第二课堂|--(官网)
${$key} = $_POST[$key] = urldecode($value); fO1迪尔课堂自学网-|第二课堂|--(官网)
} fO1迪尔课堂自学网-|第二课堂|--(官网)
即可解决乱码问题。 由于没有考虑到DEDE提交的数据中还有FLAGS数组,上面的Urldecode操作会将FLags的值抹掉,所以,有一些用户就会发现发布推荐参数时 不成功 fO1迪尔课堂自学网-|第二课堂|--(官网)
fO1迪尔课堂自学网-|第二课堂|--(官网)
加入这行代码即可: fO1迪尔课堂自学网-|第二课堂|--(官网)
//给POST变量做转码处理,适用于火车采集器中Urlencode发布的内容 fO1迪尔课堂自学网-|第二课堂|--(官网)
foreach($_POST as $key=>$value){ fO1迪尔课堂自学网-|第二课堂|--(官网)
!is_array($value) && ${$key} = $_POST[$key] = urldecode($value); fO1迪尔课堂自学网-|第二课堂|--(官网)
} fO1迪尔课堂自学网-|第二课堂|--(官网)
如果要遍历数组,对所有值进行处理的话,我写了一个递归函数,适于用所有变量,包括变量中的数组。 fO1迪尔课堂自学网-|第二课堂|--(官网)
fO1迪尔课堂自学网-|第二课堂|--(官网)
function ArrayUrldecode($_POST){ fO1迪尔课堂自学网-|第二课堂|--(官网)
foreach($_POST as $key=>$value){ fO1迪尔课堂自学网-|第二课堂|--(官网)
if(is_array($value)){ ArrayUrldecode($value); fO1迪尔课堂自学网-|第二课堂|--(官网)
}else{ fO1迪尔课堂自学网-|第二课堂|--(官网)
$_POST[$key] = urldecode($value); } } fO1迪尔课堂自学网-|第二课堂|--(官网)
return $_POST; fO1迪尔课堂自学网-|第二课堂|--(官网)
}

扫一扫手机访问