织梦自定义模型的字段 不显示中文的问题

由于公司需要多出几个字段用来描述文章,一开始是直接在普通文章的模型里新增一些字段的,后来发现有些字段显示为空,不确定是什么问题,于是新增了一个自定义的内容模型并且新增了一些自定义的字段,发现问题还是存在。排查之后发现是在字段名称存在中文的情况下才显示为空。于是就各种百度,发现问题发生在HtmlReplace()函数中,找到该函数,文件位于\include\helpers\filter.helper.php中,找到该函数


看到htmlspecialchars()函数就大概知道是这个内置函数的问题了(之前已经被坑过了。。)。由于文件编码是gbk2312.该函数在gbk2312的编码下htmlspecialchars()过滤含有中文字符时会输出为空。具体看一下实例:

在utf-8文件编码下:

<?php

$str='我是中文';

echo htmlspecialchars($str);

?>

//输出结果正常显示

在gb2312文件编码下:

输出为空

为了能支持gbk输出中文添加一个参数即可:

htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');

参考文章:

https://www.jb51.net/article/63392.htm

http://www.dede58.com/a/zhimengjiaocheng/dedefault/4875.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值