难题病症:V5.7登陆后台管理后,发布英文题目一切正常,公布汉语会提醒“题目不可以为空”。
难题根本原因:htmlspecialchars在php5.4默认设置为utf8编号,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.php138行
将htmlspecialchars($value)更换为htmlspecialchars($value,ENT_COMPAT,'GB2312')
检测,公布文章内容取得成功。