DEDECMS sql语句调用指定栏目下的所有子栏目的title和url {dede:sql sql=SELECT typename,typedir,ainiukeji,co...
技术学院
爱牛网络提供网站建设技术知识,seo优化知识,服务器技术知识
问题症状: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.php 138行
将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
测试,发布文章成功。
爱牛网络提供网站建设技术知识,seo优化知识,服务器技术知识
问题症状: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.php 138行
将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
测试,发布文章成功。