DedeCMS发布文章提示“标题不能为空”的解决方法
最近在一个朋友的织梦登录后台后,发布英文标题没问题,但是发布中文会提示“标题不能为空”。查找一番,找出问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
解决办法:给htmlspecialchars添加ENT_COMPAT ,’GB2312’参数修改编码默认值。
具体修改页面:
1、打开文件dede/article_add.php 和 dede/article_edit.php,将以下代码(大概在第101行和108行):
$title = dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,
‘GB2312’);
替换为
dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
修改前
修改后
2、打开文件include/ckeditor/ckeditor_php5.php,将以下代码(大概在第138行):
dede_htmlspecialchars($value)
替换为
dede_htmlspecialchars($value ENT_COMPAT ,
‘GB2312’)
修改前
修改后
把修改后的文件上传至服务器,覆盖后再发布文章进行测试,可发布文章成功。