本来自己用软件写的post文章的。。一直都正常工作。
改了另一种模式后,就莫名的一堆站出现,标题不能为空 的情况。
检测网站还一切正常,百度一下。得到的方案基本上都一样。。(下面方法是别人的,最下面才是我自己的)
问题症状: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') 测试,发布文章成功。
看了一下那个函数,无非就是替换双引号了,默认就是这个,我嘞个去,那我自己的软件来说,直接在发布前,替换掉双引号不就行了??
说干就干,在软件里,提交前,把title字段的值,替换所有双引号为空。。再提交,一切OK。
发表评论