Amaze UI Logo

徐建新的网络营销学习博客




织梦dedecmsV5.7后台编辑文章中文标题发布失败的解决方法

织梦是一款比较有名的CMS网站管理系统了,由于它用起来简单和开源受到了很多站长朋友的青睐,目前国内很多的企业站,展示站等大多数都是用这款程序二次修改搭建的了,但是这款程序因为是开源的,可能没有专门的人员对此进行升级维护,所以也会有一些漏洞,昨天我安装了这款DEDECMS程序,安装的比较顺利,可是今天这位站长朋友登陆后台发布文章的时候确出现了一个奇怪的问题,那就是当输入中文标题发布文章的时候总是发布不成功,还提示标题不可以为空。当时小编又测试了用英文来测试却可以。小编开始认为可能是程序没有上传完毕就安装了,于是就又再次的上传安装了一遍还是这样提示。小编经过查询了一些资料找到了问题的原因。现在PHP版本如果高点可能没有就不会提示这个报错了。如果低于PHP5.3的就可能会出现这个报错了,那么究竟该如何去解决呢?
第一步:连接FTP软件,按照目录路径找到include/ckeditor/ckeditor_php5.php使用高级编辑器打开在137行代码:

view

source

print?

1 $out = "<textarea name=\"" . $name . "\"" . $attr . ">" . htmlspecialchars($value) . "</textarea>\n";

改为:

view

source

print?

1 $out = "<textarea name=\"" . $name . "\"" . $attr . ">" . htmlspecialchars($value, ENT_COMPAT ,'GB2312′) . "</textarea>\n";

第二步:按照目录路径找到dede/article_add.php文件,使用高级编辑器打开在101行如下代码:

view

source

print?

1 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

修改为:

view

source

print?

1 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312′);

第三步:按照目录路径找到dede/article_edit.php文件使用高级编辑器打开找到108行代码如下:

view

source

print?

1 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

修改为:

view

source

print?

1 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312′);

把以上三个文件中的这些代码都修改后,保存上传到FTP中覆盖之前的文件。然后再登陆网站的后台一键更新下缓存,再去发布文章的时候就可以了。其实问题的主要原因就是函数:htmlspecialchars()经过转义后把标题的中文字符串转义为空了。以上三个步骤其实就是再把参数修改默认为GB2312的编码格式就解决了。

 

作者  :  xujianxin

一名网络营销专业的讲师,从事网络营销行业7年,有多个行业的网络营销经验,曾做过法兰、鲜花、婚庆、晶体管设备、幼儿园等多个行业的推广以及策划。




About ME

about me

徐建新

我是一名网络营销专业的讲师,从事网络营销行业7年,有多个行业的网络营销经验,曾做过法兰、鲜花、婚庆、晶体管设备、幼儿园等多个行业的推广以及策划。

Contact ME

Article List