网络营销推广
首页 > 网站搭建 > dedecms教程 > Dedecms织梦后台发布文章提示“标题不能为空”问题解决

Dedecms织梦后台发布文章提示“标题不能为空”问题解决

作者:蒋元 来源:http://www.jiangyuanblog.com/ 2017-08-17 20:23:51

织梦dedecms后台发布文章提示“标题不能为空”问题,产生这个问题的根本原因是php升级到5.4版本之后跟织梦的默认设置有冲突导致。今天我们通过内蒙古网'...

   织梦dedecms后台发布文章提示“标题不能为空”问题,产生这个问题的根本原因是php升级到5.4版本之后跟织梦的默认设置有冲突导致。今天我们通过内蒙古网络营销师蒋元一起来了解一下吧!

dedecms建站教程

  如果你安装的是织梦5.3或者5.6可能没事,因为dede5.6之前的版本其中php的版本默认配置的是5.3版本的php,但是织梦5.7开始集成其中的php是5.4版本的,而这时的php5.4默认编码格式跟环境的编码格式冲突(格式不一致),格式不一致的时候如果你输入的标题是纯英文+数字,这没问题,能正常使用,因为编码格式utf-8跟gbk的区别在于中文字符。

  如果你输入的是中文字符,那么htmlspecialchars()函数在转换的时候因为编码格式不同导致的乱码是他不识别,所以就直接输出空,因为他什么也没有转过来,这也就是为什么你输入汉语标题提交,却提示“标题不能为空”的原因!

  问题分析清楚了,解决方法也很明显了,下面提供两种解决方法:

  第一种:将php的版本切换回5.3版本或者比5.3更早的版本的,这个问题自然就解决了

  第二种:给htmlspecialchars(函数)添加ENT_COMPAT ,'GB2312'

  就是给php的这个函数强制设定编码格式,这样也能解决这个问题,具体对应的位置是

  ①:dede/article_add.php 这个php文件中查找

  $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

  改成

  $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT  ,'GB2312');

  ②:然后再找到dede/article_edit.php这个php文件中查找

  $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

  改成

  $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT  ,'GB2312');

  ③:include/ckeditor/ckeditor_php5.php 查找

  htmlspecialchars($value)

  改为htmlspecialchars($value, ENT_COMPAT ,'GB2312')

  这样也能解决以上问题,以上就是为大家分享的关于关于织梦后台发布文章提示“标题不能为空”问题解决方案,相信可以有效的帮助大家解决此类问题,更多有关dedecms建站教程的相关知识,请关注:蒋元的博客。

相关阅读

热点话题
  • 网站css布局中的float布局与position布局对比分析

    网站css布局中的float布局与position布局对比分析

  • 帝国cms后台编辑器如何换百度编辑器

    帝国cms后台编辑器如何换百度编辑器

  • 如何删除ASPCMS自带的默认栏目分类和内容

    如何删除ASPCMS自带的默认栏目分类和内容

  • 全面解密dedecms后台登录不显示验证码或者报错的情况

    全面解密dedecms后台登录不显示验证码或者报错的情况

  • 【wordpress插件】自动压缩png图片

    【wordpress插件】自动压缩png图片

  • WordPress固定链接设置的几种方法

    WordPress固定链接设置的几种方法

今日话题