织梦dedecms后台发布文章提示标题不能为空

作者:爱牛网络    日期:2019-11-20 20:35    来源:爱牛网络    浏览:

问题症状: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优化知识,服务器技术知识

建站学院

SEO教程

服务器知识

织梦dedecms后台发布文章提示标题不能为空

日期:2019-11-20 20:35  爱牛网络   浏览:96次

问题症状: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')


测试,发布文章成功。

网站模板