当前位置: 首页 > 织梦教程 > 织梦CMS在PHP5.4环境中不能保存中文参数的解决方法

织梦CMS在PHP5.4环境中不能保存中文参数的解决方法

365ymw / 2019-10-11
[] [] []

     在没用PHP5.4的环境做Dede后台的时候,一直没有遇到这个问题,昨天上传一个新的模版到空间去测试发现后台的系统基本参数设置中所有的中文内容都无法保存,关于这个问题,其实以前也听说过,知识一直没有遇到,这是因为网站编码的问题,UTF-8版本的织梦后台在PHP5.4环境下没有这个问题,只有GBK版本的后台才会出现这个问题,所以需要给表单中的中文转码才能解决这个问题。


 
    一、后台基本参数无法保存中文的解决方法:
 
    打开dede\templets\sys_info.htm,查找代码(大概在182行和192行,注意有两处)
1 htmlspecialchars($row['value'])

    修改成:
1 htmlspecialchars($row['value'],ENT_COMPAT ,'GB2312')

    如果还发现有其他页面也有这个问题,同理,打开对应的模版文件,搜索相同字符再替换即可解决。
    二、编辑器的中文无法保存的解决方法:
 
    打开include/ckeditor/ckeditor_php5.php,查找代码(大概在第137行)
1 dede_htmlspecialchars($value)

    修改成
1 dede_htmlspecialchars($value, ENT_COMPAT, 'GB2312' )

    三、文章发布页标签不显示的解决方法:
 
    打开dede/article_add.php 和 dede/article_edit.php,查找代码(分别在第101行和第108行)
1 dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen))

    修改成:
1 dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312')

    四、中文tag无法显示的解决方法:
 
    打开 dede/templets/tags_main.htm,查找代码(大概在第82行)
1 htmlspecialchars($fields['tag'])

    修改为:
1 htmlspecialchars($fields['tag'],ENT_COMPAT ,'GB2312')

    以上四个解决方法基本能搞定gbk版本的Dede后台在PHP5.4环境下不显示中文的问题,其实就是加了一个转码而已,原理很简单,如果还有其他什么地方的问题,可以参考此方法做类似修改。

本文链接:http://www.365ymw.com/article-1430.html 转载请保留出处,谢谢!

中查找“织梦CMS在PHP5.4环境中不能保存中文参数的解决方法”更多相关内容

用户评论

暂时还没有任何用户评论
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha

浏览历史

免责条款 | 隐私保护 | 联系我们 | 公司简介 | 报价单 | 积分商城 | 留言板
Copyright © 2010-2024 365ymw.com All Rights Reserved. 365源码商城
免责声明:部分图片素材及板块内容来自网络,如有侵犯您的权益,请联系我们,站长会立即处理!
备案号:鄂ICP备2024039974号