织梦dedecms系统基本参数设置不能保存中文以或在编辑器下中文不显示的问题

字号+ 作者:alpha 来源:www.seoalphas.com 2018-03-08 14:51 浏览次数(369)

造成这种问题的原因是PHP5.4后 htmlspecialchars函数的编码参数的默认值改为UTF-8,导致GBK的中文站使用这个参数会为空。因此强

造成这种问题的原因是PHP5.4后 htmlspecialchars函数的编码参数的默认值改为UTF-8,导致GBK的中文站使用这个参数会为空。因此强制让它使用GB2312编码。

修改方法:

dede\templets\sys_info.htm里面搜索

htmlspecialchars($row['value'])

替换成

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


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


但是这个修改的方法,对编辑器中的中文没办法,还要修改编辑器,方法为:


include/ckeditor/ckeditor_php5.php文件

找到代码

$out =".htmlspecialchars($value). ";

改成:

$out = ".htmlspecialchars( $value, 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');


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

打开/dede/templets/tags_main.htm

找到:

$fields['tag'] = htmlspecialchars($fields['tag']);

替换为

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

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

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

标签
中文不显示 dedecms 织梦

本站部分技术文章为参考网上实用内容发布,目的是记录踩坑经验,若未备注来源而侵犯了您原创文章权益,请联系博主删除;对文章有不同看法的朋友欢迎在评论区留言互动

相关文章
  • dedecms织梦调取文章页跳转地址,直接调用跳转网址的问题

    dedecms织梦调取文章页跳转地址,直接调用跳转网址的问题

    浏览次数:2271

  • 织梦系统去除版权显示:Power by DedeCms

    织梦系统去除版权显示:Power by DedeCms

    浏览次数:970

  • DeDeCMS文章页调用文章Tag或调用标签关键词

    DeDeCMS文章页调用文章Tag或调用标签关键词

    浏览次数:758

  • DedeCMS实现添加栏目图片功能

    DedeCMS实现添加栏目图片功能

    浏览次数:718

  • DEDECMS织梦列表页每隔N行文章添加一条分隔线

    DEDECMS织梦列表页每隔N行文章添加一条分隔线

    浏览次数:669

  • dedecms PC和移动端共用一个后台 图片路径处理问题

    dedecms PC和移动端共用一个后台 图片路径处理问题

    浏览次数:619

  • 织梦 {dede:list}标签列表按多种排序显示

    织梦 {dede:list}标签列表按多种排序显示

    浏览次数:539

  • 织梦dedecms 标签arclist orderby=weight支持权重排序

    织梦dedecms 标签arclist orderby=weight支持权重排序

    浏览次数:495

网友点评
功能开发中......其实是博主懒了而已......
0.750000s