网赚天下

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 149|回复: 0

织梦后台编辑文章时内容为空,可数据库里有内容,读取正常的问题解决办法

[复制链接]

508

主题

510

帖子

1658

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1658
发表于 2018-12-5 15:46:49 | 显示全部楼层 |阅读模式
昨天在做四海电子这个项目时,遇到了一个问题:织梦后台编辑文章时内容为空,可数据库里有内容,前台读取正常。在另一台服务器上是正常的,后台编辑里内容可以正常显示。

这是为什么呢?我解决这个问题花了一天。网上找了一些处理办法,都没有找到正解。



直到看到这篇解决办法:

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 );
---------------------
作者:侯二飞
来源:CSDN
原文:https://blog.csdn.net/houerfei/article/details/52763300
版权声明:本文为博主原创文章,转载请附上博文链接!

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|网赚天下  

GMT+8, 2019-2-19 19:20 , Processed in 0.103323 second(s), 22 queries .

Powered by 网赚天下 X3.2

© 2002-2019 网赚天下

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