1. 云期刊首页
  2. 建站教程

织梦dedecms后台发布文章时,已经输入标题仍然提示“标题不能为空”的解决方案

今天帮一个客户做网站系统搬家,过程很顺利。10分钟后客户询问:织梦后台发布文章时,已经输入标题仍然提示“标题不能为空”是什么原因?沟通确认后发现,未搬家前正常,搬家后不正常,那么问题只能出现在服务器环境上,因此排查解决后分享解决方案。

“标题不能为空”问题复现

发布文章时,如果标题是纯英文或者数字则正常,如果标题是汉字,则会弹出提示“标题不能为空”。(下面截图时已经修复了这个问题)

织梦dedecms后台发布文章时,已经输入标题仍然提示“标题不能为空”的解决方案

“标题不能为空”原因分析

织梦5.7开始支持php是5.4版本,而这时的php5.4默认编码格式为UTF-8,跟云服务器环境的编码格式不一致导致这个问题。htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。

织梦dedecms后台发布文章时,已经输入标题仍然提示“标题不能为空”的解决方案

“标题不能为空”解决方案

给htmlspecialchars(函数)添加ENT_COMPAT ,’GB2312’编码格式,也就是给php的这个函数强制设定编码格式。

1、修改article_add.php文件

文件路径:dede/article_add.php

修改内容:在article_add.php文件中查找$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen)); 改成 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312′);

2、修改article_edit.php文件

文件路径:dede/article_edit.php

修改内容:在article_edit.php文件中查找$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen)); 改成 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312′);

3、修改ckeditor_php5.php文件

文件路径:include/ckeditor/ckeditor_php5.php

修改内容:在文件中查找htmlspecialchars($value) 改为 htmlspecialchars($value, ENT_COMPAT ,’GB2312′)

本站所有内容,如有版权、侵权等问题,请及时联系本站做删除。发布者:云期刊,转载请注明出处:https://www.yunqikan.cn/5562.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

问答社区 在线客服
联系我们

QQ 技术:109033286

QQ 运维:3423710838

email 邮箱:drhxxkj@163.com

Qqun QQ交流群:808026766

分享本页
返回顶部