织梦在php5.4以上版本提示“标题不能为空”

栏目:DedeCMS 来源:网络 关注:0 时间:2019-12-13

关于织梦5.7在高环境PHP5.4版本上存在的问题全面解决方案
一般建站新手站长搭建织梦环境都是用的dedeampz织梦集成环境一键搭建的织梦环境,dedeampz搭建完成的CMS网站默认的编码格式是gbk的。如果你安装的是织梦5.3或者5.6可能没事,因为dedecms5.6之前的版本其中php的版本默认配置的是5.3版本的php,但是dedecms5.7开始集成其中的php是5.4版本的,而这时的php5.4默认编码格式跟环境的编码格式冲突(格式不一致)。格式不一致的时候如果你输入的标题是纯英文+数字,这没问题,能正常使用,因为编码格式utf-8跟gbk的区别在于中文字符。如果你输入的是中文字符,那么htmlspecialchars()函数在转换的时候因为编码格式不同导致的乱码是他不识别,所以就直接输出空,因为他什么也没有转过来,这也就是为什么你输入汉语标题提交,却提示“标题不能为空”的原因!

解决办法:给htmlspecialchars添加ENT_COMPAT,'GB2312'参数修改编码默认值。

1、打开“dede/article_add.php”和“dede/article_edit.php”,将
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT,'GB2312');

2、打开“include/ckeditor/ckeditor_php5.php”,将
htmlspecialchars($value)
改成
htmlspecialchars($value, ENT_COMPAT,'GB2312')

本文标题:织梦在php5.4以上版本提示“标题不能为空”
本文地址:http://www.q0738.com/dedecms/11519.html