QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

DEDECMS

dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法

 admin  2016-03-26 10:27:40
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');

第二种解决方法:

问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”,发布文章内容那里也是空的
问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
解决办法:把htmlspecialchars改成htmlspecialchars_decode
具体修改页面:
1、dede/article_add.php 和 dede/article_edit.php
将 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars_decode (cn_substrR($title,$cfg_title_maxlen));
2、include/ckeditor/ckeditor_php5.php 138行
将htmlspecialchars($value)替换为htmlspecialchars($value)_decode


第二种方法的红色部分没有测试成功,请慎用!使用之后无法加载编辑器,请知晓

¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/cms/dede/627.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序