请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 785|回复: 0

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

[复制链接]

337

主题

367

帖子

1511

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1511
发表于 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


windows .net(C#+MSSQL) linux(php+mysql)  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2018-6-21 18:08 , Processed in 0.153247 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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