业务经理

微信扫描以上二维码

028-61286886

技术咨询

使用自定义函数筛选关键词,返回关键词汉字变为“�”

迅睿框架 更新 2022-10-06 08:48:28 小小seoer

使用自定义函数筛选关键词,返回关键词汉字变为“”,在TDK里引用时可以正常显示汉字,但在网页模板中引用时就乱码“”,自己搜了半天,没有解决,只好来求助了。

代码如下:

/*关键词筛选*/
function keywords($data){
    $arr=explode(",", $newkws);/*将关键词转化为数组*/
    $xlen = sizeof($arr);/*关键词个数*/
    $fm = '******';
    for ($i=0; $i < $xlen; $i++) {/*循环关键词,进行筛选*/
        $res =strpos($famen,$arr[$i]); /*文章关键词中是否存在主关键词*/
        if($res!==false){/*存在*/
            return $arr[$i];
        }
    }
}

都设置UTF-8,返回的$arr[$i]也用mb_detect_encoding测过,是UTF-8。

custom.php也加上了“header("Content-type:text/html;charset=UTF-8");”。

数据库keywords字段的“排序规则”是“utf8mb4_unicode_ci”(不清楚有没有影响)。

方案

  • 迅睿框架创始人 #1 · 2022-09-29 16:12:58

    custom.php 不需要“header("Content-type:text/html;charset=UTF-8");”,因为index.php有一家加了

    你可以在php里面运行你写的这个函数,然后exit;看他在php里面输出的是不是正常的,如果不是那就是截取的编码有问题,也就是你程序截取了文字的一半块

  • 刘波 #2 · 2022-09-30 00:49:02
    可能是截取了汉字的一半
  • 小小seoer #3 · 2022-09-30 15:13:47
    满意答案
    回复迅睿框架创始人 刘波 我找到了问题出在哪了,是函数引用的位置,在后台“seo设置”里
    $arr=explode(",", $data['keywords']);
    而在模板文件中
    $arr=explode(",", $data);
  • 小小seoer #4 · 2022-10-06 08:48:28
    @小小seoer:后台和前台的数据类型不同吧

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...