phpcms v9内容页标题无法显示的解决方法

?

说明:仅是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. 重新生成所有内容页

?

如果是utf-8, 则不存在此问题。

?

?

另外,在新建立站点时,尽量使用utf-8编码,能避免很多问题。

#mailContentContainer .txt {height:auto;}

09-11 23:09