织梦

织梦模板内容页里面文章标题怎么保存不下来

字号+ 作者:admin 来源:郭威个人博客 2017-08-17 14:25 我要评论( )

产生这个问题的根本原因是php升级到5.4版本之后跟织梦的默认设置有冲突导致。

  1. 大家都知道php有个函数htmlspecialchars()是将预定义字符串做转换的,而htmlspecialchars()这个函数在php5.4默认为utf8编码的

    织梦后台发布文章提示“标题不能为空”问题解析
  2. 一般建站新手站长搭建织梦环境都是用的dedeampz织梦集成环境一键搭建的织梦环境,原因就在这里了,dedeampz搭建完成的CMS网站默认的编码格式是gbk的

  3. 如果你安装的是织梦5.3或者5.6可能没事,因为dede5.6之前的版本其中php的版本默认配置的是5.3版本的php,但是织梦5.7开始集成其中的php是5.4版本的,而这时的php5.4默认编码格式跟环境的编码格式冲突(格式不一致)

  4. 格式不一致的时候如果你输入的标题是纯英文+数字,这没问题,能正常使用,因为编码格式utf-8跟gbk的区别在于中文字符

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

    织梦后台发布文章提示“标题不能为空”问题解析
    织梦后台发布文章提示“标题不能为空”问题解析
  6. 问题分析清楚了,解决方法也很明显了,下面提供两种解决方法

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

    织梦后台发布文章提示“标题不能为空”问题解析
  7. 第二种:给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')

    这样也能解决以上问题

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

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 织梦模板标签后续知识

    织梦模板标签后续知识

    2018-04-18 13:52

  • 织梦模板标签使用技巧

    织梦模板标签使用技巧

    2018-04-18 13:54

  • 用手机访问织梦网站电脑内容怎么对应跳转到对应的手机内容

    用手机访问织梦网站电脑内容怎么对应跳转到对应的手机内容

    2018-01-28 17:58

  • 织梦dedecms网站六大SEO优化技巧分享

    织梦dedecms网站六大SEO优化技巧分享

    2017-12-03 11:18

网友点评
尚未注册畅言帐号,请到后台注册
精彩导读