Dedecms織夢后臺發布文章提示“標題不能為空”問題解決

  • Dedecms織夢后臺發布文章提示“標題不能為空”問題解決已關閉評論
  • 2,341 views
  • A+
所屬分類:DedeCms教程
廣告也精彩

織夢后臺發布文章提示“標題不能為空”問題解析,產生這個問題的根本原因是php升級到5.4版本之后跟織夢的默認設置有沖突導致。

如果你安裝的是織夢5.3或者5.6可能沒事,因為dede5.6之前的版本其中php的版本默認配置的是5.3版本的php,但是織夢5.7開始集成其中的php是5.4版本的,而這時的php5.4默認編碼格式跟環境的編碼格式沖突(格式不一致),格式不一致的時候如果你輸入的標題是純英文+數字,這沒問題,能正常使用,因為編碼格式utf-8跟gbk的區別在于中文字符。

dedecms后臺發不了文章

如果你輸入的是中文字符,那么htmlspecialchars()函數在轉換的時候因為編碼格式不同導致的亂碼是他不識別,所以就直接輸出空,因為他什么也沒有轉過來,這也就是為什么你輸入漢語標題提交,卻提示“標題不能為空”的原因!

Dedecms織夢后臺發布文章提示“標題不能為空”問題解決

Dedecms織夢后臺發布文章提示“標題不能為空”問題

 

問題分析清楚了,解決方法也很明顯了,下面提供兩種解決方法:

第一種:將php的版本切換回5.3版本或者比5.3更早的版本的,這個問題自然就解決了

第二種:給htmlspecialchars(函數)添加ENT_COMPAT ,'GB2312'

就是給php的這個函數強制設定編碼格式,這樣也能解決這個問題,具體對應的位置是

①:dede/article_add.php 這個php文件中查找

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

改成

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

②:然后再找到dede/article_edit.php這個php文件中查找

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

改成

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

③:include/ckeditor/ckeditor_php5.php 查找

htmlspecialchars($value)

改為htmlspecialchars($value, ENT_COMPAT ,'GB2312')

這樣也能解決以上問題

  • 我的微信
  • 這是我的微信掃一掃
  • weinxin
  • 推薦公眾號
  • 文元說銷
  • weinxin
廣告也精彩
吳 文元