主頁 > 網(wǎng)站建設(shè) > 建站知識 > 腳本之家使用火車頭發(fā)布DEDECMS 5.5 出現(xiàn)亂碼的解

腳本之家使用火車頭發(fā)布DEDECMS 5.5 出現(xiàn)亂碼的解

POST TIME:2017-11-13 01:01

但發(fā)布到DEDE 5.5的時候,自帶的程序默認(rèn)的是發(fā)布文章的版塊。而我做的是下載站。去網(wǎng)上DOWN了個不錯的模塊,針對DEDE 5.1、5.3、5.5通用的一個模板。里面有全部文章,商品,下載等所有模板。 下載地址:/softs/26772.html
接著繼續(xù)發(fā)布,到發(fā)布的時候又有一個問題,發(fā)現(xiàn)發(fā)布的文章是亂碼。這個地方需要修改一個文件,打開DEDE目錄下的config.php 在最后一行加入:

//給POST變量做轉(zhuǎn)碼處理,適用于火車采集器中Urlencode發(fā)布的內(nèi)容
foreach($_POST as $key=>$value){
${$key} = $_POST[$key] = urldecode($value);
}
即可解決亂碼問題。 由于沒有考慮到DEDE提交的數(shù)據(jù)中還有FLAGS數(shù)組,上面的Urldecode操作會將FLags的值抹掉,所以,有一些用戶就會發(fā)現(xiàn)發(fā)布推薦參數(shù)時 不成功

加入這行代碼即可:
//給POST變量做轉(zhuǎn)碼處理,適用于火車采集器中Urlencode發(fā)布的內(nèi)容
foreach($_POST as $key=>$value){
!is_array($value) && ${$key} = $_POST[$key] = urldecode($value);
}
如果要遍歷數(shù)組,對所有值進(jìn)行處理的話,我寫了一個遞歸函數(shù),適于用所有變量,包括變量中的數(shù)組。

function ArrayUrldecode($_POST){
foreach($_POST as $key=>$value){
if(is_array($value)){ ArrayUrldecode($value);
}else{
$_POST[$key] = urldecode($value); } }
return $_POST;
}


上一篇:list_article.htm列表頁帶頁碼的修改方法

下一篇:DEDECMS 5.1的SEO技巧之欄目列表頁優(yōu)化

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266