在dedecms后台添加文章的时候,文章标题是中文的话,提交后有时候会提示“标题不能为空”这样的问题(标题为英文的话就没出现这个问题)。检查后台没问题后,其实是因为PHP版本的问题引起的。

   问题根源: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′)

测试,发布文章成功。所以如果不能修改服务器的PHP版本使用以上方法还是可以解决的!

Sorry, the comment form is closed at this time.

   
© 2012 Ai-WEB的博客 Suffusion theme by Sayontan Sinha