destoon采集论坛

 找回密码
 立即注册
查看: 234|回复: 7

后台的信息筛选搜索功能只能用英文和数字

[复制链接]

32

主题

54

回帖

386

积分

中级会员

Rank: 3Rank: 3

积分
386
发表于 2016-3-17 09:48:36 | 显示全部楼层 |阅读模式
在后台的信息搜索里,只能用英文和数字搜索得出,中文的就不行,为什么呢,是不是和版本的编码方式有关。





3.png (9.26 KB, 下载次数: 0)

下载附件


2016-3-17 09:46 上传





比如人才管理模块,真实姓名里,用中文就搜索不出人了。但如果我换一个人的姓名为英文或数字,用英文或数字就能搜索得出。这样一测试,就是用中文搜不出,问题何在....编码的问题吗
回复

使用道具 举报

38

主题

2078

回帖

4496

积分

论坛元老

Rank: 8Rank: 8

积分
4496
发表于 2016-3-17 15:28:13 | 显示全部楼层

我的可以
回复 支持 反对

使用道具 举报

71

主题

3537

回帖

8055

积分

论坛元老

Rank: 8Rank: 8

积分
8055
发表于 2016-3-17 15:58:36 | 显示全部楼层

你是什么版本的?
回复 支持 反对

使用道具 举报

50

主题

3415

回帖

7668

积分

论坛元老

Rank: 8Rank: 8

积分
7668
发表于 2016-3-18 09:12:03 | 显示全部楼层

这个和网站编码没有关系,有没有修改过文件
回复 支持 反对

使用道具 举报

32

主题

54

回帖

386

积分

中级会员

Rank: 3Rank: 3

积分
386
 楼主| 发表于 2016-3-18 09:59:30 | 显示全部楼层

龙在天涯 发表于 2016-3-18 09:12

这个和网站编码没有关系,有没有修改过文件
问题找到了....
GBK版字符判断函数的问题
回复 支持 反对

使用道具 举报

50

主题

3415

回帖

7668

积分

论坛元老

Rank: 8Rank: 8

积分
7668
发表于 2016-3-18 09:12:00 | 显示全部楼层

liangshengyi99 发表于 2016-3-18 09:59

问题找到了....
GBK版字符判断函数的问题
哦,可以将解决方法分享下



回复 支持 反对

使用道具 举报

32

主题

54

回帖

386

积分

中级会员

Rank: 3Rank: 3

积分
386
 楼主| 发表于 2016-3-21 09:03:28 | 显示全部楼层

龙在天涯 发表于 2016-3-21 09:03

哦,可以将解决方法分享下
include/safe.func.php 文件中
函数 dhtmlspecialchars有问题,具体调整办法为:
将现在的函数
function dhtmlspecialchars($string) {
        if(is_array($string)) {
                return array_map('dhtmlspecialchars', $string);
        } else {
                if(defined('DT_ADMIN')) {
                        return str_replace(array('&'), array('&'), htmlspecialchars($string, ENT_QUOTES));
                } else {
                        return str_replace(array('&', '"', '"', '"'), array('&', '', '', ''), htmlspecialchars($string, ENT_QUOTES));
                }
        }
}

替换为:
function dhtmlspecialchars($string) {
    $encoding = 'utf-8';
    if(DT_CHARSET=='gbk')
        { $encoding = 'gb2312'; }   
    if(is_array($string)) {
        return array_map('dhtmlspecialchars', $string);
    } else {
        if(defined('DT_ADMIN'))
                {
            return str_replace(array('&'), array('&'), htmlspecialchars($string, ENT_QUOTES,$encoding));
        } else {
            return str_replace(array('&', '"', '"', '"'), array('&', '', '', ''), htmlspecialchars($string, ENT_QUOTES,$encoding));
        }
    }
}


已经测试,暂时没有发现问题
回复 支持 反对

使用道具 举报

50

主题

3415

回帖

7668

积分

论坛元老

Rank: 8Rank: 8

积分
7668
发表于 2016-3-18 09:59:00 | 显示全部楼层

liangshengyi99 发表于 2016-3-23 09:50

include/safe.func.php 文件中
函数 dhtmlspecialchars有问题,具体调整办法为:
将现在的函数
不错,支持楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|destoon采集论坛

GMT+8, 2025-11-23 13:09 , Processed in 0.019247 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表