/ 中存储网

Dedecms 5.7后台不显示中文参数及中文tag标签的解决方法

2017-03-30 13:33:30 来源:中存储网

dedecms 后台不显示中文的参数,不显示中文的tag标签是许多人都遇到的问题,现在分享自己的解决方法。

本文整理自网络,并已经在dedecms5.7 gbk版本下测试同样可用。因为中文不显示问题的原因是php版本。参考文章http://www.wangjinhai119.com/dedecms/4289.html。

Dedecms织梦系统我一直都是在用utf8版的,最近看重一个模板,就买了,可是上传到服务器发现系统基本设置下面不能保存中文,网上没找到很好的方法,自己看了一下,发现是网站编码的问题,我utf8的织梦在php5.4以下就没问题,在php5.4以上的版本就出现编码问题。所以,要给表单中的字符转码。

后台-系统基本参数无法保存中文 修改方法:这个在5.7gbk下没测试

dedetempletssys_info.htm里面搜索

htmlspecialchars($row[‘value’])

替换成

htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′)

如果发现还有其他页面,也没办法保存中文,最好在dreamweaver下整站搜索htmlspecialchars($row[‘value’]),然后批量替换成htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′),这样就能保证系统的表单没问题。

但是这个修改的方法,对编辑器中的中文没办法,还要修改编辑器,方法为:(这个在5.7gbk下没测试

include/ckeditor/ckeditor_php5.php文件

找到代码

$out = “<textarea name=”” . $name . “”” . $attr . “>” .htmlspecialchars($value). “</textarea>n”;

改成:

$out = “<textarea name=”” . $name . “”” . $attr . “>” .htmlspecialchars( $value, ENT_COMPAT, ‘GB2312′ ). “</textarea>n”;

dedecm 5.7中文标签tag不显示,修改方法为:已测试,在5.7GBK下有效

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’);

这些都没问题后,发现 核心-批量维护-tag标签管理里面的中文标签全部都不显示了,真是麻烦,修改方法:

打开/dede/templets/tags_main.htm 和 include/taglib/tag.lib.php(已经测试:dedecms5.7版本的这个tag.lib.php文件里没有,不用修改

找到:

$fields[‘tag’] = htmlspecialchars($fields[‘tag’]);

替换为

$fields[‘tag’] = htmlspecialchars($fields[‘tag’],ENT_COMPAT ,’GB2312′);

这样修改,tag标签就显示了。

这样一修改,在php5.4下的gbk版织梦就不会出现编码的问题了。