dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法

dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法

dedecms出现这个问题与代码无关,主要是和PHP的版本有关,用的PHP5.4,更换成PHP5.2之后就不会有这个问题了。

问题原因是:php5.4版本中htmlspecialchars在php5.4默认为utf8编码,gbk编码的字符串经过htmlspecialchars 转义后的中文字符串为空了,所以造成添加文章时提示“标题不能为空”,编辑文章时编辑器内容空白。

解决的办法:
标题不能为空
修改dede/article_add.php 和 dede/article_edit.php 这2个文件。把$title =htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成$title =htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT, GB2312 );

编辑器内容空白
打开include/ckeditor/ckeditor_php5.php找到大约 138行
将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT, GB2312 )

如果是其它v5.6用fck编辑器的,就打开include/FCKeditor/fckeditor.php找到大约76行
将$HtmlValue = htmlspecialchars( $this->Value ) ;替换为$HtmlValue = htmlspecialchars($this->Value,ENT_COMPAT , GB2312 );

系统站点设置网站名称、站点默认关键字、站点描述也是保存后显示为空,打开./dede/file_manage_view.php,搜索$content= htmlspecialchars($content); 替换成$content =htmlspecialchars($content,ENT_COMPAT , GB2312 );

时间: 2024-08-25 04:22:59

dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法的相关文章

DEDECMS 添加文章时提示标题为空, 编辑文章编辑器空白 的解决方法

DEDECMS 版本: GBK 5.7 ( 万恶之源, 建议不要使用 GBK 或 GB2312 编码的 )   文本编辑器: ckeditor( DEDECMS 默认的) 原配置环境: window + IIS + PHP 5.3.28 新配置环境: linux + nginx + php 5.5.30 PHP htmlspecialchars 更新日志 5.6.0 The default value for the encoding parameter was changed to be th

dedecms添加文章时提示标题为空或者无法保存标题

问题症状:登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空” 问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空. 解决办法:给 htmlspecialchars 添加 ENT_COMPAT ,’GB2312’ 参数修改编码默认值. 具体修改方法如下:1.打开 /dede/article_add.php 和 /dede/article_edit.php 文件找到$ti

eclipse集成tomcat运行web时提示引入jar包的类找不到的解决办法

参考:http://blog.csdn.net/fjssharpsword/article/details/50635049 在eclipse集成tomcat开发web时,java类引入的jar包,编译通过,但启动tomcat运行web时提示找不到jar包内的类,需要作如下配置,将jar包在部署到集成的tomcat环境中. 问题:在 web应用 右键->Run as -> Run on Server情况下,会找不到Java Resources下Libraries的jar,应该是eclipse工

重启mysql提示:The server quit without updating PID file问题的解决办法

今天因为需要开启事件调度器event_scheduler,所以修改了mysql的配置文件/etc/my.cnf 就因为配置多了个分号,导致一直启动失败,如下图所示: 然后去网上搜了帖子(MySQL提示:The server quit without updating PID file问题的解决办法http://www.jb51.net/article/48625.htm),按照里面几种提供的方案都不能解决,于是查看mysql错误日志 #tail -n 400 /lutong/mysql/erro

vs2012打开低版本项目时 出现vs2012警告未能加载包“visual c++ package 解决办法

vs2012 打开 vs2010 项目时 提示的 错误信息. 解决办法 是下载一个 vs2012的 一个补丁包 http://www.microsoft.com/en-us/download/details.aspx?id=36020 初次安装成功后,调试 无法启用,关闭,重新打开项目 即可解决! ======ok. [在此谢谢网上提供解决方案的朋友们,谢谢你们!] vs2012打开低版本项目时 出现vs2012警告未能加载包"visual c++ package 解决办法

excel 如何 筛选,以及筛选后,在复制时 显示 不可对多重选定区域使用此命令的解决办法

excel 如何 筛选,以及筛选后,在复制时 显示 不可对多重选定区域使用此命令的解决办法选中 第一行, 开始 筛选 选择 某一列 右下角的小三角 ,进行内容筛选 即可. excel 筛选后,在复制时 显示 不可对多重选定区域使用此命令解决办法筛选结束后,选择几列进行复制会提示"不可对多重选定区域使用此命令".那么就别单独选择几列了,而是全选.点击整个表格的左上角,这样筛选 后的结果就会都被选中.右击 "复制",然后 粘贴 到 sheet2工作表中.这样就把筛选的结

Advanced Installer 中测试数据库连接提示“未发现数据源名称并且未指定默认驱动程序”的解决办法

原文:Advanced Installer 中测试数据库连接提示"未发现数据源名称并且未指定默认驱动程序"的解决办法 最近需要制作一个安装包,安装包的要求如下: 1.用户手工填写MySql的地址.用户名和密码 2.填写完成后提供测试数据库连接是否正常的按钮功能 3....... 项目要求打包的Mysql版本为5.5.27 x64版本,通过研究Advanced Installer 发现,此打包工具提供了数据库连接字符串,并且是通过ODBC的方式来连接的,既然是安装的64位的数据库,那么连

dede后台文章无法编辑(出现空白)的解决办法

找到/archives_do.php文件,用记事本打开,查找header("location:{$gurl}?aid=$aid");将其替换成:echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL={$gurl}?aid=$aid\">";保存,即可正常打开. dede后台文章无法编辑(出现空白)的解决办法,布布扣,bubuko.com

Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法

Laravel 5.4 Mix & Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法 首先进入package.json文件,将scripts下的所有cross-env删除掉,(devDependencies下的不能删除)处理结果代码如下: { "private": true, "scripts": { "dev": "npm run development&qu