胜杰工作室
记录年轻与智慧的

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

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

玩织梦时发现。织梦后台发布文章时,已经输入标题仍然提示“标题不能为空”是什么原因?

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

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

织梦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′)

赞(1) 打赏
转载请注明来源:胜杰博客 » 织梦dedecms后台发布文章时,提示“标题不能为空”的解决方案
分享到: 更多 (0)

评论 1

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏