• 环宇资讯网首页    北京时间:
  • 设为首页  收藏本站
  • 首 页
  • 娱乐天下
  • 笑话林
  • 精彩中国
  • 生活一点通
  • 直播在线
  • 专题直通车
  • 美体私语
  • 情感话题
  • 时装潮流
  • 天生我才
  • 料事如神
  • 热点关注
  • 明星情感
  • 爱情宝典
  • 男人女人
  • 情感自述
  • 美容美体
  • 奢华品牌
  • 家居生活
  • 环宇资讯网
  • 您现在的位置: 环宇资讯网首页 > 娱乐天下 > 列表
  • phpcms v9内容页标题无法显示的解决方法

  • 发布时间:2018-07-15 09:21:17  来源:互联网
  • 5.18K
  • 说明:仅是gbk版本的phpcms v9存在此问题

    内容页标题不显示,经过反复检查,这是phpcms的一个bug, 原因如下:

    1. caches/caches_model/caches_data/content_output.class.php(原始代码文件为modules/content/fields/title/output.inc.php)的title函数中使用了htmlspecialchars对标题进行转义, 但这个函数使用时要指定编码(默认为utf-8),而phpcms并没有指定此编码,导致php以utf-8解析gbk标题,从而导致标题为空。

    如果是utf-8版本的phpcms,则不存在这个问题。

    使用以下方法解决这个问题:

    1. 修改 modules/content/fields/title/output.inc.php,将第二行修改为

    $value = htmlspecialchars($value, null, 'gb2312');

    2.更新全站缓存

    3. 重新生成所有内容页



    一起来看一篇关于phpcms文章内容不显示即htmlspecialchars()导致中文丢失问题的解决办法,如果你帮到这类问题可以参考本文章来试着解决了。

    phpcms2008sp4的gbk版本在后台编辑文章时发现标题、内容等不显示,

    phpcms2008sp编辑内容不显示

    经排查发现phpcms2008sp4在处理文章信息时使用的即htmlspecialchars参数问题导致了中文丢失(在php5.4/5.5版本需补全参数)。直接使用htmlspecialchars($data[$field], ENT_QUOTES)返回空值,没有作任何处理。


    解决方法:


    在 data\cache_model\content_form.class.php中查找


    $value = isset($data[$field]) ? htmlspecialchars($data[$field], ENT_QUOTES) : '';


    修改为:


    $value = isset($data[$field]) ? htmlspecialchars($data[$field], ENT_QUOTES,'GB2312') : '';
    网罗天下
    环宇资讯网(www.cntvnews.cn) @ 2012 版权所有 All Rights Reserved.
    联系方式:Email:cntvan@sina.com 环宇资讯网 QQ群:56312570 QQ:1205509309 法律顾问:肖海涛 冀ICP备10016941号-40