1. 程式人生 > >dedecms新增文章時提示標題為空,編輯文章時編輯器空白的解決辦法

dedecms新增文章時提示標題為空,編輯文章時編輯器空白的解決辦法

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/file_manage_view.php,搜尋$content = htmlspecialchars($content); 替換成$content = htmlspecialchars($content,ENT_COMPAT ,'GB2312');