北京尚网汇智科技有限公司
您当前所在的位置:尚网汇智网站建设 > PHP技术 > 文章详细
网站建设知识
NEWS
联系我们
  • 网站建设服务电话
  • 400-883-2887
  • 公司地址:北京市昌平科技园区创意大厦2-806
  • 服务项目
    高端网站建设
    移动/微信网站建设
    手机APP开发
    OA/ERP业务系统开发
    网站维护托管
    CMS模板制作

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

    发布时间:2018-12-26 11:27:51
    昨天在配置一个客户项目时,遇到了一个问题:织梦后台编辑文章时内容为空,可数据库里有内容,前台读取正常。在另一台服务器上是正常的,后台编辑里内容可以正常显示。
    这是为什么呢?我解决这个问题花了一天。网上找了一些处理办法,都没有找到正解。
    直到看到这篇解决办法:
    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 );

    提示:如果担心代码修改不完整,换PHP版本是一个不错的选择

    北京尚网汇智将持续为您分享网站建设相关的知识和经验。



    文章出自:北京网站建设公司-尚网汇智 https://www.net2006.com 如转载请注明出处!
    咨询服务热线
    400-883-2887
    客服电话:400-883-2887  传真:010-51654992  E-mail:support@net2006.com
    本站设计已受版权保护,任何公司及个人不得复制,违者将依法追究责任,特此声明。

    Copyright © 2005-2018 北京尚网汇智科技有限公司 版权所有 京ICP备13031271号
    查找内容: