DEDE織夢教程
【DEDE后臺】dede后臺部分頁面錯誤;htmlspecialchars問題
時間: 2024-10-11 04:58:43 瀏覽次數:13
DEDE織夢cms常用的參數標簽匯總、以及操作過程中的一些bug問題解決方法,dede網站二開,以下龍騰飛網絡科技-小吳在建站實操中筆記記錄,織夢dede建站教程保存使用非常方便:【DEDE建站教程】dede后臺部分頁面錯誤;htmlspecialchars問題dede網站,GBK2312版本會出現的問題,htmlspecialchars問題,特別在網站搬家后,很多后

DEDE織夢cms常用的參數標簽匯總、以及操作過程中的一些bug問題解決方法,dede網站二開,以下龍騰飛網絡科技-小吳在建站實操中筆記記錄,織夢dede建站教程保存使用非常方便:


【DEDE建站教程】dede后臺部分頁面錯誤;htmlspecialchars問題


dede網站,GBK2312版本會出現的問題,htmlspecialchars問題,特別在網站搬家后,很多后臺頁面點擊編輯修改會出現某個php的某一行有問題。


【解決方法】在相關的文件某行后面加上,ENT_COMPAT, GB2312或者是,ENT_COMPAT,'ISO-8859-1'即可,即所以涉及htmlspecialchars的代碼都加上即可。下面歸納了一些可能會出現的問題匯總。以及解決修改方法跟大家說下。


dedecms出現這個問題與代碼無關,主要是和PHP的版本有關,用的PHP5.4,更換成PHP5.2之后就不會有這個問題了。


問題原因是:php5.4版本中htmlspecialchars在php5.4默認為utf8編碼,gbk編碼的字符串經過htmlspecialchars 轉義后的中文字符串為空了,所以造成添加文章時提示“標題不能為空”,編輯文章時編輯器內容空白。


解決的辦法:


1、標題不能為空


修改dede/article_add.phpdede/article_edit.php 這2個文件。


$title =htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

改成

$title =htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT, GB2312 );

2、編輯器內容空白


打開 include/ckeditor/ckeditor_php5.php 找到大約 138行


htmlspecialchars($value)

替換為

htmlspecialchars($value, ENT_COMPAT, GB2312 )


如果是其它v5.6用fck編輯器的,就打開include/FCKeditor/fckeditor.php找到大約 76行


$HtmlValue = htmlspecialchars( $this->Value ) ;

替換為

$HtmlValue = htmlspecialchars($this->Value,ENT_COMPAT , GB2312 );


3、系統站點設置網站名稱、站點默認關鍵字、站點描述也是保存后顯示為空,打開./dede/file_manage_view.php;


搜索

$content= htmlspecialchars($content);

替換成

$content =htmlspecialchars($content,ENT_COMPAT , GB2312 );


4、dede后臺欄目管理--修改欄目--欄目內容修改


出現“/include/ckeditor/ckeditor_php5.php on line 137”


追根溯源,是htmlspecialchars惹的禍,PHP 5.4后GBK編碼下默認不支持中文,轉換后內容為空。


修改DeDeCMS/include/ckeditor/ckeditor_php5.php文件,137行左右;如下代碼:


$out = "<textarea name="" . $name . """ . $attr . ">" . htmlspecialchars($value) . "</textarea>
";

改成如下:

$out = "<textarea name="" . $name . """ . $attr . ">" . htmlspecialchars($value,ENT_COMPAT,'ISO-8859-1') . "</textarea>
";

5、一鍵生成全站后


include/taglib/tag.lib.php on line 86


$row['tag'] = htmlspecialchars($row['tag']);

修改成

$row['tag'] = htmlspecialchars($row['tag']);




6、打開/include/common.func.php,搜索“function RunApp”,在這個函數的上面添加織夢新版本新增的函數:dede_htmlspecialchars,具體代碼如下:

function dede_htmlspecialchars($str) { 
global $cfg_soft_lang; 
if (version_compare(PHP_VERSION, '5.4.0', '<')) return htmlspecialchars($str); 
if ($cfg_soft_lang=='gb2312') return htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1'); 
else return htmlspecialchars($str); 
}


追根溯源,是htmlspecialchars惹的禍,PHP 5.4后GBK編碼下默認不支持中文,轉換后內容為空。


UTF-8編碼 沒有任何問題。



友情鏈接: 知識付費 | EDU指南導航 | 貴州網站建設公司 |
Copyright?2011 Guangzhou Longtengfei Network Technology Co., Ltd. 廣州龍騰飛網絡科技有限公司 粵ICP備18029205號 XML地圖 | 系統開發專題地圖
主站蜘蛛池模板: 性无码免费一区二区三区在线| 正在播放91大神调教偷偷| 日本中文字幕在线电影| 免费真实播放国产乱子伦| 2022福利视频| 女女互揉吃奶揉到高潮视频| 亚洲av永久无码嘿嘿嘿| 波多野结衣教师未删减版| 北条麻妃中文字幕免观在线| jizz大全欧美| 国模无码视频一区| 久久五月精品中文字幕| 欧美亚洲另类久久综合| 亚洲福利视频一区二区三区| 边亲边摸边做视频免费| 国产特级毛片aaaaaa高潮流水| 一级特黄aaa大片在线观看视频| 日本成人免费网站| 五月天中文在线| 男男chinese同志gay露脸飞机| 国产 欧洲韩国野花视频| 91大神免费观看| 成年人看的免费视频| 亚洲免费小视频| 水蜜桃亚洲一二三四在线| 免费人妻av无码专区| 精品国产第一国产综合精品| 国产AV一区二区三区最新精品| yy6080一级毛片高清| 国产黄大片在线观看| 99精品视频免费观看| 女人战争免费观看韩国| 一级做a爰片久久毛片人呢| 成人试看120秒体验区| 中文字幕日韩欧美一区二区三区| 日本无遮挡漫画| 久久国产精品成人片免费| 日韩欧美亚洲一区二区综合| 亚洲AV综合色区无码一区| 热狗福利ap青草视频入口在线观看p引导下载花季传媒 | 91精品视频免费|