DEDECMS代码本身没有多大关系, 主要因为 php 5.4 后 htmlspecialchars 函数字符编码默认 UTF-8. GBK编码的字符串经过 htmlspecialchars 字符转义后的中文字符串为空了, 所以造成添加文章时提示标题为空, 编辑文章编辑器空白. 使用 DEDECMS UTF-8 版本就不会出现这个问题, 所以建议大家使用 UTF-8 版本的.
解决方法:
1.提示标题为空
修改 dede/article_add.php 和 dede/article_edit.php
$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
$out = "n";
替换:
$out = "n";