无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

?找回密码
?立即注册

QQ登录

只需一步,快速开始

查看: 12978|回复: 0
打印 上一主题 下一主题

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

[复制链接]

423

主题

456

帖子

1899

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1899
跳转到指定楼层
楼主
发表于 2018-3-1 13:55:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法fckeditor、ckeditor

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');


文章来源:http://blog.sina.com.cn/s/blog_68fed3d20102vdmj.html


分享到:? QQ好友和群QQ好友和群
收藏收藏
windows .net(C#+MSSQL) linux(php+mysql)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|软件编程 ( 鄂ICP备11006601号 )鄂公网安备 42011102001337号 |

GMT+8, 2019-9-26 16:06 , Processed in 0.053907 second(s), 19 queries .

Powered by Discuz! X3.4

? 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表