DEDE系统我一直都是在用utf8版的,近期重视一个模板,就买了,可是上传到服务器发现系统基本设置下面不可以保存中文,网上没找到非常不错的办法,自己看了一下,发现是网站编码的问题,我utf8的DEDE模版在php5.4下就没问题,所以,要给表单中的字符转码。
后台-系统基本参数没办法保存中文 修改办法:
dede\templets\sys_info.htm里面搜索
htmlspecialchars
替换成
htmlspecialchars
假如发现还有其他页面,也无法保存中文,最好在dreamweaver下整站搜索htmlspecialchars,然后批量替换成htmlspecialchars,如此就能保证系统的表单没问题。
但这个修改的办法,对编辑器中的中文无法,还要修改编辑器,办法为:
include/ckeditor/ckeditor_php5.php文件
找到代码
$out = "<textarea name=\"" . $name . "\"" . $attr . ">" .htmlspecialchars. "</textarea>\n";
改成:
$out = "<textarea name=\"" . $name . "\"" . $attr . ">" .htmlspecialchars. "</textarea>\n";
还有文章页标签也不显示,修改办法为:
打开include/taglib/tag.lig.php
找到
$row['tag'] = htmlspecialchars;
改为:
$row['tag'] = htmlspecialchars;
发布文章的标题不显示修改办法如下:
1、dede/article_add.php 和 dede/article_edit.php将
$title = htmlspecialchars);
改成
$title = htmlspecialchars,ENT_COMPAT ,'GB2312');
这部分都没问题后,发现 核心-批量维护-tag标签管理里面的中文标签全部都不显示了,真是麻烦,修改办法:
打开/dede/templets/tags_main.htm
找到:
$fields['tag'] = htmlspecialchars;
替换为
$fields['tag'] = htmlspecialchars;
如此修改,tag标签就显示了。
如此一修改,在php5.4下的gbk版DEDE就不会出现编码的问题了。