18 2015年05月

phpcms2008文章内容不显示即htmlspecialchars()导致中文丢失

发布于:14时23分 | 来源:湛蓝天空  |   编辑:湛蓝  |   日志分类:PHPCMS  |   已聚集:人围观

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') : '';

除非注明,均为湛蓝天空原创,转载请注明本文网址:http://skyhome.cn/phpcms/498.html

标签:phpcms2008(7)
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)