找传奇、传世资源到传世资源站!

织梦dedecms商业教程 后台发布文章提示“标题不能为空”,编辑器内容无法显示中文

2021.5.16 技术教程 1670 编辑

问题症状:dedecms的该板块版本在登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”,并且已经存在的中文文章在编辑器空白,而英文文章没有问题,该问题再php5.3及以下版本不会出现,在php5.4版本以上就会出现。

问题根源:初步认定是因为编码格式的问题,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')

测试,发布文章成功。

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复