Saber 酱的抱枕

Fly me to the moon

07/14
2014
学习

dedecms5.7发表文章提示标题不能为空的原因

dedecms后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的

对系统设置的修改只能保存英文的修改,中文的提示成功但是没有更改

原因:
这个是php版本和 dedecmsgbk编码间产生的问题

htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars
转义后的中文字符串为空,也就是标题为空。

最好的办法是使用utf-8的 dedecms,不会有问题。

解决方法1:

如果用的是php5.4,换成5.3就好了.

解决方法2:
给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 138行将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
测试,发布文章成功。

dedecms5.7发表文章提示标题不能为空的原因