业务经理

微信扫描以上二维码

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-10-30)
修正对百度编辑器提取支持
AI文章生成器
AI文章生成器(2026-10-29)
任务插图设置数量
Bing站长数据
Bing站长数据(2026-10-29)
根据BING接口调整菜单 各个页面数据支持点击查看详情
按字段付费
按字段付费(2026-10-29)
按字段付费用于模块的字段设置一定的价格,当用户购买了此内容的字段时才...
泛解析站群系统
泛解析站群系统(2026-10-29)
AI队列增加清空按钮 表单提示语收敛 目录模式不接管主域名模板
邮件群发
邮件群发(2026-10-28)
修改模板的命名
自定义收款/捐款
自定义收款/捐款(2026-10-28)
自定义收款或捐款插件可以让用户快速创建付款或者捐款功能
CMS内容批量修改
CMS内容批量修改(2026-10-28)
后台批量修改文章内容的指定字段在插件后台可以任意指定字段
全站模块搜索
全站模块搜索(2026-10-28)
实现全模块一次性搜索内容,一键搜索全站内容精准搜索全部模块:
PHPCMSV9数据转换
PHPCMSV9数据转换(2026-10-28)
PHPCMS转入迅睿CMS操作步骤:https://www.xunr...