muban大师 发表于 2019-5-22 10:02:44

织梦DedeCMS发布文章提示“标题不能为空”的解决方法

最近在一个朋友的织梦登录后台后,发布英文标题没问题,但是发布中文会提示“标题不能为空”。查找一番,找出问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
       
        解决办法:给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
       
        具体修改页面:
       
        1、打开文件dede/article_add.php 和 dede/article_edit.php,将以下代码(大概在第101行和108行):
       
       
        $title = dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen)]ENT_COMPAT ,'GB2312');
       
        替换为
       
       
        dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
       
        DedeCMS发布文章提示“标题不能为空”的解决方法
       
        修改前
       
        DedeCMS发布文章提示“标题不能为空”的解决方法
       
        修改后
       
        2、打开文件include/ckeditor/ckeditor_php5.php,将以下代码(大概在第138行):
       
       
        dede_htmlspecialchars($value)
       
        替换为
       
       
        dede_htmlspecialchars($value ENT_COMPAT ,'GB2312')
       
        DedeCMS发布文章提示“标题不能为空”的解决方法
       
        修改前
       
        DedeCMS发布文章提示“标题不能为空”的解决方法
       
        修改后
       
        把修改后的文件上传至服务器,覆盖后再发布文章进行测试,可发布文章成功。
页: [1]
查看完整版本: 织梦DedeCMS发布文章提示“标题不能为空”的解决方法