dedecms出現這個問題與代碼無關,主要是和PHP的版本有關,用的PHP5.4,更換成PHP5.2之后就不會有這個問題了。
問題原因是:php5.4版本中htmlspecialchars在php5.4默認為utf8編碼,gbk編碼的字符串經過 htmlspecialchars 轉義后的中文字符串為空了,所以造成添加文章時提示“標題不能為空”,編輯文章時編輯器內容空白。
解決的辦法:
標題不能為空
修改dede/article_add.php 和 dede/article_edit.php 這2個文件。把$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
編輯器內容空白
打開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');
系統基本參數輸入中文后顯示空白
dede/templets/sys_info.htm里面搜索htmlspecialchars($row['value']) 改成htmlspecialchars(($row['value']), ENT_COMPAT ,'GB2312') 即可
新聞熱點
疑難解答